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.
Analysis:
This is an easy problem. DFS (depth first search) is enough to solve it. Details see source code.
c++
int maxDepth(TreeNode *root) {
if(root == NULL)
return 0;
int left = maxDepth(root->left);
int right = maxDepth(root->right);
return max(left,right)+1;
}
java
public int maxDepth(TreeNode root) {
if(root == null)
return 0;
int left = maxDepth(root.left);
int right = maxDepth(root.right);
return 1 + Math.max(left,right);
}
iteratively version
http://leetcode.com/2010/04/maximum-height-of-binary-tree.html