leetcode --Minimum Depth of Binary Tree
生活随笔
收集整理的这篇文章主要介绍了
leetcode --Minimum Depth of Binary Tree
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
找最短的到叶节点的长度:
一考虑广度优先搜索(使用队列,不用 recursive)
class Solution { public:int minDepth(TreeNode* root) {if(!root)return 0;queue<TreeNode*> q;q.push(root);int minheight=0;bool o=false;while(!q.empty()){ minheight++;int count=q.size();cout<<count<<endl;cout<<(q.front())->val<<endl;for(int i=0;i<count;i++){TreeNode* l=q.front();cout<<l->val<<endl;q.pop();if((l->right==NULL)&&(l->left==NULL))return minheight;if(l->right)q.push(l->right);if(l->left)q.push(l->left);}}}};
使用递归形式
class Solution { public:int minDepth(TreeNode* root) {if (root == NULL) return 0;if (root-> left == NULL && root->right == NULL) return 1;//只有同时没有左节点和右节点才为叶子节点if (root->left == NULL) return 1 + minDepth(root->right);else if (root->right == NULL) return 1 + minDepth(root->left);else return 1 + min (minDepth(root->left),minDepth(root->right)); //有左节点,和右节点,加1 } };
转载于:https://www.cnblogs.com/fanhaha/p/7240499.html
总结
以上是生活随笔为你收集整理的leetcode --Minimum Depth of Binary Tree的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 安装Matlab出现Error 1935
- 下一篇: AO-XXXX