leetcode

来源:互联网 发布:网络被禁用了怎么恢复 编辑:程序博客网 时间:2024/04/30 01:26

利用BFS,遇到的第一个叶子节点的当前深度即为最小深度。

代码

class Solution {public:    int minDepth(TreeNode *root) {        if(root==NULL)          return 0;        TreeNode *p;        p = root;        minNum = 0;        queue<TreeNode*> queue_push, queue_pop;        queue_pop.push(p);               while(!queue_pop.empty())        {            TreeNode *tempNode;            tempNode = queue_pop.front();            queue_pop.pop();                        if(!tempNode->left&&!tempNode->right)                return ++minNum;                        if(tempNode->left)                queue_push.push(tempNode->left);            if(tempNode->right)                queue_push.push(tempNode->right);                   if(queue_pop.empty())            {               minNum++;               swap(queue_pop, queue_push);            }                    }                return minNum;            }    private:    int minNum;};

0 0