12. Maximum Depth of Binary Tree
easyAsked at GojekReturn the maximum depth (number of nodes on the longest root-to-leaf path) of a binary tree.
By Alex Chen, Founder, InterviewChamp.AI · Last verified
Problem
Given the root of a binary tree, return its maximum depth, defined as the number of nodes along the longest path from the root down to the farthest leaf node.
Constraints
The 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 count
Walk level by level with a queue and count levels.
- Time
- O(n)
- Space
- O(n)
if (!root) return 0;
let q = [root], d = 0;
while (q.length) {
const nx = [];
for (const n of q) { if (n.left) nx.push(n.left); if (n.right) nx.push(n.right); }
q = nx; d++;
}Tradeoff:
2. Recursive max
Depth of a node is one plus the max depth of its children. Empty tree is depth zero.
- Time
- O(n)
- Space
- O(h)
function maxDepth(root) {
if (!root) return 0;
return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
}Tradeoff:
Gojek-specific tips
Gojek favors candidates who name the trade-off between BFS memory and DFS depth, since dispatch graphs in their multi-service stack can be both deep and wide depending on the city.
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 Gojek interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →