Chaturmind
LearnDSASystem DesignBlogPremium
Sign inGet started
Chaturmind

Structured learning paths for engineers who want to go deep. Written by practitioners.

Learn

  • Java
  • DSA
  • System Design
  • Spring Boot
  • AI / ML

Company

  • Blog
  • Premium
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2026 Chaturmind. All rights reserved.

Built for engineers who want to go deep.

DSA›Trees›Maximum Depth of Binary Tree
EasyTrees

Maximum Depth of Binary Tree

treedfsrecursion

Problem

Given the root of a binary tree, return its maximum depth (the number of nodes along the longest path from root to the farthest leaf).

Examples

Example 1

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

Output: 3

Explanation: The longest path is 3 -> 20 -> 15 (or 7), 3 nodes deep.

Constraints

  • •The number of nodes is in the range [0, 10^4]

Hints

Hint 1

A tree's depth is naturally defined recursively: 1 + the deeper of its two subtrees' depths.

Hint 2

The base case (null node) has depth 0 — this is what makes the recursion terminate correctly.

Solutions

public int maxDepth(TreeNode root) {
    if (root == null) return 0;
    return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
}
Java

Time: O(n) · Space: O(h)