[leetcode] problem 104 – 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.

Note

A leaf is a node with no children.

Example

Given binary tree [3,9,20,null,null,15,7],

1
2
3
4
5
  3
/
9 20
/
15 7

return its depth = 3.

Code

1
2
3
4
5
6
public class  {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
1
2
3
4
5
6
7
8
9
10

public int maxDepth(TreeNode root) {
if (root == null)
return 0;

int leftDepth = maxDepth(root.left);
int rightDepth = maxDepth(root.right);

return Math.max(leftDepth, rightDepth) + 1;
}