Problem Description
level: easy
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.
Have you met this question in a real interview?
Example
Given a binary tree as follow:
1 2 3 4 5 6 7 |
1 / \ 2 3 / \ 4 5 |
The maximum depth is 3.
Solution:
consider use divide and conquer approach
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/** * @param root: The root of binary tree. * @return: An integer. */ public int maxDepth(TreeNode root) { if(root == null) return 0; // divide int left = maxDepth(root.left); int right = maxDepth(root.right); // conquer return Math.max(right, left) + 1; } |