12. Maximum Depth of Binary Tree
easyAsked at OlaFind the maximum depth (height) of a binary tree.
By Alex Chen, Founder, InterviewChamp.AI · Last verified
Problem
Given the root of a binary tree, return its maximum depth. The maximum depth is the number of nodes along the longest path from the root down to the farthest leaf.
Constraints
Number of nodes is in [0, 10^4]-100 <= Node.val <= 100
Examples
Example 1
root = [3,9,20,null,null,15,7]3Example 2
root = [1,null,2]2Approaches
1. BFS level counting
Walk level by level and count levels.
- Time
- O(n)
- Space
- O(n)
let q = root ? [root] : [], d = 0;
while (q.length) {
d++;
q = q.flatMap(n => [n.left, n.right].filter(Boolean));
}
return d;Tradeoff:
2. Recursive DFS
Return 1 + max(depthLeft, depthRight). Base case zero on null.
- Time
- O(n)
- Space
- O(h)
function maxDepth(root) {
if (!root) return 0;
return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
}Tradeoff:
Ola-specific tips
Ola checks if you reach for recursion intuitively; tie it to estimating worst-case dispatch hops in a hierarchical zone tree.
Solve it now
Free. No sign-up. Python and JavaScript run instantly in your browser.
Practice these live with InterviewChamp.AI
Drill Maximum Depth of Binary Tree and other Ola interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →