12. Maximum Depth of Binary Tree
easyAsked at TeslaReturn 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 number of nodes on the longest path from root to any leaf.
Constraints
0 <= node count <= 10^4-100 <= node.val <= 100
Examples
Example 1
Input
root = [3,9,20,null,null,15,7]Output
3Example 2
Input
root = [1,null,2]Output
2Approaches
1. Level-order BFS
Count levels until the queue is empty.
- Time
- O(n)
- Space
- O(w)
if (!root) return 0;
let q = [root], d = 0;
while (q.length) { d++; q = q.flatMap(n => [n.left, n.right].filter(Boolean)); }
return d;Tradeoff:
2. Recursion
Height = 1 + max(left, right).
- Time
- O(n)
- Space
- O(h)
function maxDepth(root) {
if (!root) return 0;
return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
}Tradeoff:
Tesla-specific tips
Tesla path planners traverse decision trees this way — the recursive max-depth pattern shows up directly when computing the worst-case lookahead horizon for a planner branch.
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 Tesla interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →