019 · Maximum Depth of Binary Tree

algorithm
Published

May 21, 2026

Problem

给定一个二叉树的根节点 root

请返回这棵二叉树的最大深度。

二叉树的最大深度是指:从根节点到最远叶子节点的最长路径上的节点数量。

叶子节点是指没有子节点的节点。

例如,给定下面这棵二叉树:

        3
       / \
      9  20
        /  \
       15   7

从根节点 3 到叶子节点 157 的路径都包含 3 个节点,所以最大深度是 3

如果二叉树为空,也就是 root = [],那么它的最大深度是 0

Examples

示例 1

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

解释:最长路径可以是 3 -> 20 -> 15,也可以是 3 -> 20 -> 7,都包含 3 个节点。

示例 2

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

解释:最长路径是 1 -> 2,包含 2 个节点。

示例 3

Input:  root = []
Output: 0

解释:空树没有节点,所以最大深度是 0

Constraints

  • 树中节点的数量范围是 \([0, 10^4]\)
  • \(-100 \leq\) Node.val \(\leq 100\)