LC 104二叉树简单第 46 / 95 题

二叉树的最大深度

Maximum Depth of Binary Tree

递归DFS
本机进度仅保存在当前浏览器

题目描述

给定一个二叉树 root,返回其最大深度(根节点到最远叶子节点的最长路径上的节点数)。

示例:树 [3, 9, 20, null, null, 15, 7],最大深度为 3。

解题思路

  1. 树的最大深度 = max(左子树深度, 右子树深度) + 1,天然的递归定义。
  2. 递归基:空节点深度为 0;自底向上汇总即得答案。
  3. 迭代写法用 BFS 层序计数或 DFS 显式栈,面试时能写出递归版并说明复杂度即可。

参考实现

查看参考实现Python · 建议先自行作答
def maxDepth(root):
    # 自底向上:深度 = 左右子树深度的最大值 + 1
    if not root:
        return 0
    return 1 + max(maxDepth(root.left), maxDepth(root.right))

复杂度与归属

时间复杂度O(n)
空间复杂度O(h)
所属分类二叉树
题源LeetCode 104

关联教程

返回题图鉴