Maximum Depth of Binary Tree

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.Have you met this question in a real interview? YesProblem Correction

Example

Given a binary tree as follow:

  1
 / \ 
2   3
   / \
  4   5  

The maximum depth is 3.

/**
 * 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 maxDepth(TreeNode root) {
        // write your code here
        
        
        if(root == null)
            return 0;
            
        return help(root);
    }
    
    public int help(TreeNode root){
        if(root == null){
            return 0;
        }
        
        int left = help(root.left);
        int right = help(root.right);
        
        return Math.max(left,right)+1;
    }
}
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public int maxDepth(TreeNode root) {
        if(root == null)
            return 0;
        
        int left = maxDepth(root.left);
        int right = maxDepth(root.right);
        
        int index = Math.max(left,right) +1 ;
        
        return index;
    }
}

Last updated