您的位置:首页 > 其它

lintcode-easy-Minimum Depth of Binary Tree

2016-03-02 14:20 246 查看
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.

Given a binary tree as follow:

1
/ \
2   3
/ \
4   5

The minimum depth is
2
.

递归,注意定义,深度是指root到leaf node最短路径的节点个数,递归的基本情况是root为leaf node,而不是root为null。当然也要加入root为null时候的判断条件。

/**
* 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 left = Integer.MAX_VALUE;
int right = Integer.MAX_VALUE;

if(root.left != null)
left = minDepth(root.left);
if(root.right != null)
right = minDepth(root.right);

return Math.min(left, right) + 1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: