14. Maximum Depth of Binary Tree
easyAsked at ChimeReturn the maximum depth of a binary tree, defined as the number of nodes along the longest root-to-leaf path.
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 node down to the farthest leaf node.
Constraints
The number of nodes is in the range [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. Level-order BFS
BFS level by level, incrementing depth each level.
- Time
- O(n)
- Space
- O(n)
if (!root) return 0;
let depth = 0;
let q = [root];
while (q.length) {
const next = [];
for (const n of q) {
if (n.left) next.push(n.left);
if (n.right) next.push(n.right);
}
q = next;
depth++;
}
return depth;Tradeoff:
2. Recursive DFS
Depth equals 1 plus the max depth of the two subtrees. Recursion is clean and matches the structural definition.
- Time
- O(n)
- Space
- O(h)
function maxDepth(root) {
if (!root) return 0;
return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
}Tradeoff:
Chime-specific tips
Chime mirrors this recursion onto their merchant-category trees used in fraud heuristics, so explain the recursive substructure crisply before coding.
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 Chime interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →