payal-kothari
7/18/2017 - 10:04 PM

Recursion must read !!!!! From https://leetcode.com/problems/maximum-depth-of-binary-tree/#/description

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public int maxDepth(TreeNode root) {
        
        // Best answer
        if (root == null){
            return 0;
        }
        
        return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
        
        
        
        
        // Using BFS  ----- 
        
//         if (root == null){
//             return 0;
//         }
//         if(root.left == null && root.right == null){
//             return 1;
//         }

//         Queue<TreeNode> q = new LinkedList<TreeNode>();     // ******* 
//         q.add(root);
//         int level = 0;
        
//         while(!q.isEmpty()){
//             int n = q.size();
            
//             for(int i =0 ; i< n ; i++ ){                    // ******
//                 TreeNode temp = q.poll();
//                 if(temp.left != null){
//                     q.add(temp.left);
//                 }
//                 if(temp.right != null){
//                     q.add(temp.right);
//                 }
                
//             }
//             level++;                                        // ****** 
            
//         }
        
//         return level;
    }
}