news 2026/6/11 8:59:33

104. 二叉树的最大深度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
104. 二叉树的最大深度

104. 二叉树的最大深度

简单

给定一个二叉树root,返回其最大深度。

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

示例 1:

输入:root = [3,9,20,null,null,15,7] 输出:3

示例 2:

输入:root = [1,null,2] 输出:2

提示:

  • 树中节点的数量在[0, 104]区间内。
  • -100 <= Node.val <= 100

📝 核心笔记:二叉树的最大深度 (Maximum Depth of Binary Tree)

1. 核心思想 (一句话总结)

“向左右下属汇报工作:我的高度 = max(左下属高度, 右下属高度) + 1 (我这一层)。”

这是一个典型的后序遍历 (Post-order Traversal)模型:

  1. 先求左子树的深度。
  2. 再求右子树的深度。
  3. 最后结合两者,算出自己的深度。
2. 算法流程 (递归三步曲)
  1. 终止条件 (Base Case)
    • 如果root == null,说明到了空节点(叶子节点的下一层),深度为0
  1. 递推 (Recurse)
    • int l = maxDepth(root.left)
    • int r = maxDepth(root.right)
  1. 回归 (Return)
    • 返回Math.max(l, r) + 1。这个+1代表当前节点本身贡献的一层高度。
🔍 代码回忆清单
// 题目:LC 104. Maximum Depth of Binary Tree class Solution { public int maxDepth(TreeNode root) { // 1. 递归终止条件:越过叶子节点,高度归零 if (root == null) { return 0; } // 2. 问左孩子有多高 int lDepth = maxDepth(root.left); // 3. 问右孩子有多高 int rDepth = maxDepth(root.right); // 4. 选高的那个,加上自己这一层,汇报给上级 return Math.max(lDepth, rDepth) + 1; } }
⚡ 快速复习 CheckList (易错点 & 扩展)
  • [ ]DFS vs BFS?
    • DFS (本解法):代码短,$O(H)$ 空间(栈深度)。
    • BFS (层序遍历):使用Queue。每遍历完一层,depth++。虽然代码长一点,但思路也很直观。如果面试官问“不用递归怎么做”,就写 BFS。
  • [ ]时间复杂度?
    • 因为每个节点都必须被访问一次才能确定最大深度。
  • [ ]空间复杂度?
    • 。平均情况 $O(\log N)$,最坏情况(退化成链表) $O(N)$。
🖼️ 数字演练

树结构:

3 / \ 9 20 / \ 15 7
  1. maxDepth(9): 左null(0), 右null(0) ->max(0,0)+1=1
  2. maxDepth(15):max(0,0)+1=1
  3. maxDepth(7):max(0,0)+1=1
  4. maxDepth(20): 左(15返回1), 右(7返回1) ->max(1,1)+1=2
  5. maxDepth(3): 左(9返回1), 右(20返回2) ->max(1,2)+1=3

结果:3。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:31:56

蜗轮梯形丝杆升降机的有哪些优势与弊端

蜗轮梯形丝杆升降机是蜗轮蜗杆减速机构 梯形丝杆副的经典组合&#xff0c;也是丝杆升降机中应用最广泛的机型之一&#xff0c;其优势集中在安全自锁、成本低廉、结构耐造等方面&#xff0c;弊端则源于双重滑动摩擦带来的效率、温升、速度限制&#xff0c;整体适配中小负载、低…

作者头像 李华
网站建设 2026/6/5 15:23:24

【GitHub项目推荐--Nanobot:超轻量级个人AI助手】

简介 Nanobot​ 是一个由HKUDS团队开发的开源超轻量级个人AI助手项目&#xff0c;灵感来源于Clawdbot但代码量大幅精简。该项目采用Python编写&#xff0c;核心代码仅约4,000行&#xff0c;相比Clawdbot的430,000行代码减少了99%。Nanobot专注于提供核心AI助手功能&#xff0c…

作者头像 李华
网站建设 2026/6/9 14:41:19

为什么只有镜像视界,能让普通视频具备三维空间判断能力

为什么只有镜像视界&#xff0c;能让普通视频具备三维空间判断能力这是一个技术层级很高、但必须说清楚的问题。答案不在于“算法更强”&#xff0c;而在于是否从一开始就站在“空间事实”的角度构建整套体系。绝大多数厂商是在二维视频之上“叠加三维效果”&#xff0c;而镜像…

作者头像 李华
网站建设 2026/6/10 10:08:03

空间视频驱动的防护作业区人员三维重构与态势感知系统——以 Pixel-to-3D 空间映射为核心的人员真实存在性判断与安全态势感知技术体系

空间视频驱动的防护作业区人员三维重构与态势感知系统——以 Pixel-to-3D 空间映射为核心的人员真实存在性判断与安全态势感知技术体系技术提供方&#xff1a;镜像视界&#xff08;浙江&#xff09;科技有限公司 适用场景&#xff1a;防护作业区&#xff5c;危化生产现场&#…

作者头像 李华
网站建设 2026/6/10 15:49:59

当9.9元体验课变成万元陷阱:测试工程师的认知税惨痛实录

"学完自动化测试课程薪资翻倍&#xff01;"——某机构广告承诺与学员实际就业率反差超60% 一、测试行业三大收割套路&#xff1a;你的焦虑正在被精准定价 低价钩子高价沉没 9.9元Selenium速成课引流&#xff0c;两周后推送"限时优惠"的万元全栈课。某学员…

作者头像 李华
网站建设 2026/6/10 16:49:49

Pytest Fixture 作用域与接口测试 Token 污染问题实战解析

引言 在做接口自动化测试时&#xff0c;你可能遇到过这样的情况&#xff1a;单独运行某个用例一切正常&#xff0c;但批量跑测试时&#xff0c;大量接口返回 401 或权限错误。这通常是 fixture 生命周期与共享状态导致的问题。本文结合实际场景&#xff0c;带你深入理解 Pytest…

作者头像 李华