LeetCode OJ:Minimum Depth of Binary Tree
来源:互联网 发布:js遍历多层json数据 编辑:程序博客网 时间:2024/06/04 17:51
Minimum Depth of Binary Tree
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.
算法思想:层序遍历,找到第一个叶子节点
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: int minDepth(TreeNode *root) { if(!root)return 0; queue<TreeNode *>que; int minLen=0; int curLev=1; int nextLev=0; int depth=0; que.push(root); while(!que.empty()){ TreeNode *cur=que.front(); que.pop(); if(cur->left==NULL&&cur->right==NULL){ return depth+1; } if(cur->left){que.push(cur->left);nextLev++;} if(cur->right){que.push(cur->right);nextLev++;} if(--curLev==0){ curLev=nextLev; nextLev=0; depth++; } } }};
递归版
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: int minDepth(TreeNode *root) { return minDepth(root,false); }private: static int minDepth(const TreeNode *root,bool hasbrother){ if(!root)return hasbrother?INT_MAX:0; return 1+min(minDepth(root->left,root->right), minDepth(root->right,root->left)); }};
0 0
- 【LeetCode OJ】 Minimum Depth of Binary Tree
- LeetCode OJ:Minimum Depth of Binary Tree
- [LeetCode OJ]Minimum Depth of Binary Tree
- LeetCode OJ Minimum Depth of Binary Tree
- <LeetCode OJ> (104 / 111) Maximum & Minimum Depth of Binary Tree
- LeetCode OJ Minimum Depth of Binary Tree 递归求解
- LeetCode: Minimum Depth of Binary Tree
- [Leetcode] Minimum Depth of Binary Tree
- LeetCode : Minimum Depth of Binary Tree
- leetcode 31: Minimum Depth of Binary Tree
- [LeetCode] Minimum Depth of Binary Tree - BFS
- [LeetCode] Minimum Depth of Binary Tree - DFS
- 【leetcode】Minimum Depth of Binary Tree
- LeetCode:Minimum Depth of Binary Tree
- [LeetCode]Minimum Depth of Binary Tree
- [Leetcode]Minimum Depth of Binary Tree
- [leetcode]Minimum Depth of Binary Tree
- Leetcode: Minimum Depth of Binary Tree
- findViewById()与Inflate()和setContentView()关系扯谈
- UISearchBar控件
- 类型的本质和函数式实现
- 用JS实现图片连续自动切换
- Number-Guess
- LeetCode OJ:Minimum Depth of Binary Tree
- 详解 Qt 下 QLibrary 动态加载 dll
- 题目1118:数制转换
- Google lmctfy 3.0 - Example
- 长尾理论
- ASP.NET中ListView的插入、删除、编辑、读取
- <MEMORY>Project Euler NO14
- ios二维码的生成与扫描
- 接口和抽象类的详细对比,层次机构中使用总结实例。