2014年3月24日星期一

Maximum Depth of Binary Tree

Problem:
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest 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 maxDepth(TreeNode root) {  
12:      if(root==null)  
13:       return 0;  
14:      if(root.left==null&&root.right==null)  
15:       return 1;  
16:      return Math.max(maxDepth(root.left),maxDepth(root.right))+1;  
17:    }  
18:  }  
Discussion:
Use recursion is straight forward and simple. The depth of the current level is the maximum depth of its siblings plus 1.

没有评论:

发表评论