13. Maximum Depth of Binary Tree
easyAsked at CircleCIFind the maximum depth of a binary tree, mirroring how CircleCI measures the critical path length of a pipeline DAG.
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
Number of nodes in [0, 10^4]Node values in [-100, 100]
Examples
Example 1
root = [3,9,20,null,null,15,7]3Example 2
root = [1,null,2]2Approaches
1. Brute force
Recursively compute depth by traversing every node.
- Time
- O(n)
- Space
- O(h)
function maxDepth(root) {
if (!root) return 0;
return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
}Tradeoff:
2. Iterative BFS
Use a queue to process nodes level by level, incrementing depth per level. Avoids call-stack overflow on deep trees.
- Time
- O(n)
- Space
- O(n)
function maxDepth(root) {
if (!root) return 0;
const queue = [root];
let depth = 0;
while (queue.length) {
let size = queue.length;
depth++;
for (let i = 0; i < size; i++) {
const node = queue.shift();
if (node.left) queue.push(node.left);
if (node.right) queue.push(node.right);
}
}
return depth;
}Tradeoff:
CircleCI-specific tips
CircleCI interviewers draw parallels to DAG critical-path computation — mention that depth maps to pipeline stage count and discuss how you'd parallelize sibling subtrees.
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 CircleCI interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →