111. Minimum Depth of Binary Tree
来源:互联网 发布:淘宝 安能小包发货 编辑:程序博客网 时间:2024/06/13 12:51
要求:Given a binary tree, find its minimum depth.
The minimum depth is the number of nodes along the shortest pathfrom the root node down to the nearest leaf node.
he number of nodes along the shortest pathfrom the root node down to the nearest leaf node./**
* Definitionfor a binary tree node.
*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==NULL)
{
return 0;
}
queue<TreeNode*>myq;
int res=0,n=0;
myq.push(root);
TreeNode*p=NULL;
while(!myq.empty())
{
n=myq.size();//n是某层的节点个数
++res;
for(int i=0;i<n;i++)//处理该层数据。
{
p=myq.front();//每一层一层的处理
myq.pop();
if(p->left!=NULL)
{
myq.push(p->left);
}
if(p->right!=NULL)
{
myq.push(p->right);
}
if((p->left==NULL)&&(p->right==NULL))
{
return res;
}
}
}
return res;
}
};
方法二:
递归解法。
class Solution {
public:
int minDepth(TreeNode* root) {
if(root==NULL)
{
return 0;
}
if(root->left==NULL&&root->right==NULL)
{
return 1;
}
int left=INT_MAX,right=INT_MAX;
if(root->left)
left=minDepth(root->left);
if(root->right)
right=minDepth(root->right);
return min(left,right)+1;
}
class Solution {
public:
int minDepth(TreeNode *root) {
if(!root) return 0;
if(!root->left) return 1 + minDepth(root->right);
if(!root->right) return 1 + minDepth(root->left);
return 1+min(minDepth(root->left),minDepth(root->right));
}
};
- 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
- LeetCode_linked-list-cycle-ii
- mysql语法
- 二分搜索——在有序数组中找到目标函数出来的最左端的位置
- 学习记录:接口功能配置之 Settings及QuickSettings
- POJ 1269 Intersecting Lines(直线相交判断,求交点)
- 111. Minimum Depth of Binary Tree
- Dubbo源码阅读之 客户端远程调用
- webpack
- 多数据速率变换中的插值和抽取
- hibernate主键生成策略---【小白系列】0基础到熟练应用hibernate框架(七)
- linux学习笔记之SSH协议与远程登录工具
- spark源码之Job执行(2)任务调度taskscheduler
- mysql主从同步原理,配置,同步延迟处理
- Codeforces Round #416 (Div. 2) D. Vladik and Favorite Game 交互, BFS