12. Maximum Depth of Binary Tree
easyAsked at CourseraFind the maximum depth of a binary tree, a foundational tree-traversal problem Coursera uses to test recursive thinking for hierarchical course-content structures.
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 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. Brute force (BFS level count)
Use a queue to traverse level by level, incrementing depth each level.
- Time
- O(n)
- Space
- O(n)
function maxDepth(root) {
if (!root) return 0;
const queue = [root]; let depth = 0;
while (queue.length) {
depth++;
for (let i = queue.length; i > 0; i--) {
const n = queue.shift();
if (n.left) queue.push(n.left);
if (n.right) queue.push(n.right);
}
}
return depth;
}Tradeoff:
2. DFS recursion
Recursively compute depth of left and right subtrees, returning 1 + max of the two. Elegant and O(n) time with O(h) stack space.
- Time
- O(n)
- Space
- O(h)
function maxDepth(root) {
if (!root) return 0;
return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
}Tradeoff:
Coursera-specific tips
Coursera interviews emphasize algorithms for educational platforms, content recommendation systems, and scalable delivery pipelines. Medium-difficulty graph and DP problems are typical.
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 Coursera interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →