THN Interview Prep

104. Maximum Depth of Binary Tree

At a Glance

  • Topic: Binary Tree
  • Pattern: DFS
  • Difficulty: Easy
  • LeetCode: 104

Problem Statement

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.

Example 1:

Input: root = [3,9,20,null,null,15,7] Output: 3

Example 2:

Input: root = [1,null,2] Output: 2

Constraints:

The number of nodes in the tree is in the range [0, 104].
-100 <= Node.val <= 100

Approach & Solution Steps

Use a recursive DFS approach. The depth of a node is 1 plus the maximum depth of its left and right subtrees.

Optimal JS Solution

function maxDepth(root) {
  if (!root) return 0;
  return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
}

Edge Cases & Pitfalls

  • Always consider empty or null inputs.
  • Watch out for off-by-one index errors.

Mark this page when you finish learning it.

Last updated on

Spotted something unclear or wrong on this page?

On this page