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
- 下一篇: Centos系统中彻底删除Mysql数据