111. Minimum Depth of Binary Tree
来源:互联网 发布:js router 编辑:程序博客网 时间:2024/06/06 13:02
Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
解法一:BFS
class Solution {public: int minDepth(TreeNode* root) { int count = 0; if(root == NULL) return count; queue<TreeNode*> que; que.push(root); while(!que.empty()){ ++count; const int size = que.size(); for(int i=0; i<size; ++i){ TreeNode* tmp = que.front(); que.pop(); if(tmp->left == NULL && tmp->right == NULL) goto final; if(tmp->left != NULL) que.push(tmp->left); if(tmp->right != NULL) que.push(tmp->right); } }final: return count; }};
注意双层循环,仅仅使用break是无法跳出来的,使用goto,或者直接return。
解法二:DFS
if(root == NULL) return 0; int l = minDepth(root->left); int r = minDepth(root->right); return 1 + ((l != 0 && r != 0) ? std::min(l, r) : std::max(l, r));
注意当递归回去的时候,某个节点当前深度为0,我们要return较大的哪一个,否则此处节点的深度就成了“假0”!
0 0
- LeetCode 111. Minimum Depth of Binary Tree
- [LeetCode]111.Minimum Depth of Binary Tree
- 【LeetCode】111.Minimum Depth of Binary Tree
- [Leetcode] 111. Minimum Depth of Binary Tree
- 111.Minimum Depth of Binary Tree
- 111. Minimum Depth of Binary Tree
- [leetcode] 111. Minimum Depth of Binary Tree
- 111. Minimum Depth of Binary Tree
- 111. Minimum Depth of Binary Tree
- 111. Minimum Depth of Binary Tree
- 111. Minimum Depth of Binary Tree LeetCode
- 111. Minimum Depth of Binary Tree
- 111. Minimum Depth of Binary Tree
- 【LeetCode】111. Minimum Depth of Binary Tree
- 111. Minimum Depth of Binary Tree
- 111. Minimum Depth of Binary Tree
- LeetCode *** 111. Minimum Depth of Binary Tree
- 111. Minimum Depth of Binary Tree
- Oracle 之利用BBED跳过归档日志实现恢复(二)
- Tensorflow 自定义loss的情况下初始化部分变量
- Python入门(七):生成列表、条件过滤、多层表达式
- Android studio的NDK开发基础
- 深入理解Java中为什么内部类可以访问外部类的成员
- 111. Minimum Depth of Binary Tree
- vue搭建简单项目(新手操作)
- leecode 第一题 TWO SUM
- 《剑指offer》—1、二维数组中的查找
- 贪心算法-翻硬币
- 合并顺序表A和B,并且升序排序 到&Lc
- edittext的长度过长,给提示
- 数据结构:实验二
- Spring配置中各个jar的作用详解