This practice workspace is built for desktop. Open it on a larger screen to start solving.
Maximum Depth of Binary Tree
Given the root of a binary tree, return its maximum depth.
A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
Input convention. For portability, the tree is passed as a level-order array using null for missing children (LeetCode serialization). For example, [3,9,20,null,null,15,7] represents:
3
/ \
9 20
/ \
15 7
The provided starter includes a TreeNode class and arrayToTree helper. Your function receives the array; build the tree (or operate on the array directly) and return the depth.
Examples
Constraints
- The number of nodes in the tree is in the range [0, 10^4].
- -100 <= Node.val <= 100
Preview Mode
This is a read-only preview of DSAMind's AI coaching. Sign up to get custom feedback on your own solution.
Your approach
- Pattern:Depth-First Search
- Time:O(N)
- Space:O(1)
Complete approach — pattern and complexity both named.
Coach
What you got right
You correctly matched the sorted input requirement and implemented a linear-time scan using two pointers.
Where it diverged
No divergence detected. The code correctly aligns with the stated approach.
Next attempt: focus on
Try solving related sliding window problems to build familiarity with two-pointer variants.
Signals
No signals fired — clean run, you stayed in flow.