2014年3月24日星期一

Minimum Depth of Binary Tree

Problem:

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.

Solution:
1:  /**  
2:   * Definition for binary tree  
3:   * public class TreeNode {  
4:   *   int val;  
5:   *   TreeNode left;  
6:   *   TreeNode right;  
7:   *   TreeNode(int x) { val = x; }  
8:   * }  
9:   */  
10:  public class Solution {  
11:    public int minDepth(TreeNode root) {  
12:      if(root==null)  
13:       return 0;  
14:      if(root.left==null&&root.right!=null)  
15:        return minDepth(root.right)+1;  
16:      else if(root.right==null && root.left!=null)  
17:        return minDepth(root.left)+1;  
18:      else if(root.left==null && root.right==null)  
19:        return 1;  
20:      else  
21:        return Math.min(minDepth(root.left),minDepth(root.right))+1;  
22:    }  
23:  }  
Discussion:
Similar to maximum depth of binary tree.

没有评论:

发表评论