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.
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { /**This is a fundamental problem on recursive method.<br> * @param root --the root node of a tree * @return max depth * @author Averill Zheng * @version 2014-06-03 * @since JDK 1.7 */ public int maxDepth(TreeNode root) { int maxDepth = 0; if(root != null){ if(root.left == null) maxDepth = 1 + maxDepth(root.right); else if(root.right == null) maxDepth = 1 + maxDepth(root.left); else maxDepth = 1 + Math.max(maxDepth(root.left), maxDepth(root.right)); } return maxDepth; } }