二叉树的最小深度
来源:互联网 发布:js控制css3动画 编辑:程序博客网 时间:2024/04/30 15:18
给定一个二叉树,找出其最小深度。
二叉树的最小深度为根节点到最近叶子节点的距离。
样例
给出一棵如下的二叉树:
1
/ \
2 3
/ \
4 5
这个二叉树的最小深度为 2
【主要在递归时要注意,当有的节点有一个子树为空时,不是叶子节点要继续寻找】
* Definition of TreeNode:
* public class TreeNode {
* public int val;
* public TreeNode left, right;
* public TreeNode(int val) {
* this.val = val;
* this.left = this.right = null;
* }
* }
*/
public class Solution {
/**
* @param root: The root of binary tree.
* @return: An integer.
*/
public int minDepth(TreeNode root) {
// write your code here
if(root==null)
return 0;
if(root.left==null && root.right==null)
return 1;
int dep1=minDepth(root.left)+1;
int dep2=minDepth(root.right)+1;
if(dep1==1)//左空右不空
dep1=Integer.MAX_VALUE;
if(dep2==1)
dep2=Integer.MAX_VALUE;
if(dep1>dep2)
return dep2;
return dep1;
}
}
//网上学习的方法
- public class Solution {
- public int minDepth(TreeNode root) {
- if(root == null) return 0;
- if(root.left == null)return minDepth(root.right) + 1;
- if(root.right == null) return minDepth(root.left) + 1;
- return Math.min(minDepth(root.left), minDepth(root.right)) + 1;
- }
- }
0 0
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- Ultra Edit修炼秘籍
- vs 最可能的异常: 0xC0000005: Access violation
- 浅谈网卡绑定和网络瓶颈
- TextView局部点击事件无效
- YII 开源系统列表
- 二叉树的最小深度
- android-Ultra-Pull-To-Refresh刷新
- 什么是启发式方法?
- 字符串替换空格
- 【算法】分治法之归并排序实现
- keil不能设置断点的问题解决
- 使用 Indy 的 TIdSMTP, TIdPOP3收发邮件在验证账户的时候出现错误乱码解决方法
- poj 1269 Intersecting Lines(计算几何)
- android中SharePreference的使用