Hot100:二叉树的最大深度(Maximum Depth of Binary Tree)DFS / BFS ACERS 解析
副标题 / 摘要 “最大深度”是树递归最标准的起手式。你只要真正理解“当前树的答案依赖左右子树答案”的定义,整类树形 DP / DFS 题都会顺很多。本文以 LeetCode 104 为核心,系统讲解递归 DFS、层序 BFS 与工程迁移方法。 预计阅读时长:9~11 分钟 标签:Hot100、二叉树、DFS、BFS、递归 SEO 关键词:Hot100, Maximum Depth of Binary Tree, 二叉树的最大深度, DFS, BFS, LeetCode 104 元描述:从深度定义出发,讲清 LeetCode 104 的 DFS 和 BFS 解法,并附多语言可运行代码。 目标读者 刚开始刷树题,想把“树递归返回值”真正吃透的同学 能写遍历,但一遇到“求高度 / 求路径 / 求答案”就容易混乱的开发者 需要在菜单树、组织架构、嵌套 JSON 等层级数据里做深度分析的工程师 背景 / 动机 LeetCode 104 看起来像一道“送分题”,但它几乎是所有树递归的母题: 你需要先回答“空树深度是多少” 再回答“当前节点的答案依赖谁” 最后把关系写成 1 + max(left, right) 一旦这个递归定义真正建立起来,后续的平衡二叉树、直径、路径和、最近公共祖先都会更容易进入状态。 核心概念 深度 / 高度:这里按题意,根到最远叶子节点的节点数 后序式思维:想知道当前节点答案,必须先知道左右子树答案 DFS:递归向下,回溯时组合答案 BFS:按层遍历,最后一层编号就是树深度 A — Algorithm(题目与算法) 题目还原 给定二叉树根节点 root,返回其 最大深度。 ...