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.
Difficulty:Easy
Solution: Depth-First Search
/**
* 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 helper(TreeNode root, int dep){
if(root == null)
return dep - 1;
return Math.max(helper(root.left, dep + 1), helper(root.right, dep + 1));
}
public int maxDepth(TreeNode root) {
return helper(root, 1);
}
}