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)模型先求左子树的深度。再求右子树的深度。最后结合两者算出自己的深度。2. 算法流程 (递归三步曲)终止条件 (Base Case)如果root null说明到了空节点叶子节点的下一层深度为0。递推 (Recurse)int l maxDepth(root.left)int r maxDepth(root.right)回归 (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 BFSDFS (本解法)代码短$O(H)$ 空间栈深度。BFS (层序遍历)使用Queue。每遍历完一层depth。虽然代码长一点但思路也很直观。如果面试官问“不用递归怎么做”就写 BFS。[ ]时间复杂度因为每个节点都必须被访问一次才能确定最大深度。[ ]空间复杂度。平均情况 $O(\log N)$最坏情况退化成链表 $O(N)$。️ 数字演练树结构3 / \ 9 20 / \ 15 7maxDepth(9): 左null(0), 右null(0) -max(0,0)11。maxDepth(15):max(0,0)11。maxDepth(7):max(0,0)11。maxDepth(20): 左(15返回1), 右(7返回1) -max(1,1)12。maxDepth(3): 左(9返回1), 右(20返回2) -max(1,2)13。结果3。

相关新闻

论文的苦难来自于拖延

论文的苦难来自于拖延

前两天本人不眠不休的用了一天完成了2w字的初稿 大前提:适用不会写论文且短时间像我一样来不及交初稿的,只求毕业的朋友如果是很卷的宝子,不要看主包这个苦命人了。 还清楚的记得主包熬夜赶论文那天在电脑前写论文,快10几个小时&a…

2026/5/17 2:29:30 阅读更多 →
医疗数字化真正难的不是做 App,而是把“合规、数据和 AI”放进同一套系统

医疗数字化真正难的不是做 App,而是把“合规、数据和 AI”放进同一套系统

过去几年,“医疗数字化”“大健康平台”几乎成了标配词。但真正参与过项目的企业都知道:医疗不是做一个界面好看的 App,而是一整套高复杂度系统工程。进入 2025 年,这个行业正在明显分化——一边是停留在内容展示、简单问诊的轻量…

2026/7/2 19:43:08 阅读更多 →
MySQL InnoDB的 MVCC 实现机制

MySQL InnoDB的 MVCC 实现机制

MySQL InnoDB的 MVCC 实现机制1. MVCC概述什么是 MVCC当前读和快照读MVCC 与锁机制的组合2. MVCC的实现原理隐式字段:记录的版本元数据Undo Log:版本链的存储载体Undo Log 的分类版本链的形成过程Read View:版本可见性的判断规则不同隔离级别…

2026/5/17 2:29:28 阅读更多 →

最新新闻

企业级开源安全利器,整合漏洞管理、基线检查,威胁狩猎、情报联动,适配政企服务器安全运维

企业级开源安全利器,整合漏洞管理、基线检查,威胁狩猎、情报联动,适配政企服务器安全运维

0x01 工具介绍 MxCwpp是一款企业级开源安全利器,聚焦政企服务器安全运维场景。平台深度整合漏洞管理、合规基线检查、威胁狩猎、威胁情报联动核心能力,支持主机与容器全维度安全防护,内置丰富合规规则与检测策略,可实现风险发现、…

2026/7/3 7:01:53 阅读更多 →
ChatGPT批量任务处理全链路优化(从Prompt批量化到结果结构化校验)

ChatGPT批量任务处理全链路优化(从Prompt批量化到结果结构化校验)

更多请点击: https://kaifayun.com 第一章:ChatGPT批量任务处理的范式演进与核心挑战 从早期单次API调用的手动编排,到如今基于异步队列、批处理中间件与智能重试策略的工程化流水线,ChatGPT批量任务处理正经历从“脚本式运维”向…

2026/7/3 6:59:52 阅读更多 →
ModernFlyouts终极指南:5分钟打造现代化Windows控制面板

ModernFlyouts终极指南:5分钟打造现代化Windows控制面板

ModernFlyouts终极指南:5分钟打造现代化Windows控制面板 【免费下载链接】ModernFlyouts A modern Fluent Design replacement for the old Metro themed flyouts present in Windows. 项目地址: https://gitcode.com/gh_mirrors/mo/ModernFlyouts 厌倦了Win…

2026/7/3 6:59:52 阅读更多 →
2024年VTubeStudio插件开发生态全景:WebSocket API架构与多语言集成技术栈深度解析

2024年VTubeStudio插件开发生态全景:WebSocket API架构与多语言集成技术栈深度解析

2024年VTubeStudio插件开发生态全景:WebSocket API架构与多语言集成技术栈深度解析 【免费下载链接】VTubeStudio VTube Studio API Development Page 项目地址: https://gitcode.com/gh_mirrors/vt/VTubeStudio 技术生态演化:从实时交互到插件化…

2026/7/3 6:57:51 阅读更多 →
AI Coding 的底层框架:一切优化都是在对抗熵增

AI Coding 的底层框架:一切优化都是在对抗熵增

导读 为什么 Prompt 写得再细,AI 还是会输出奇怪的结果?为什么新项目 AI 很好用,历史业务却总是翻车?本文作者从信息论出发,用一个简单的框架帮你拆解 AI Coding 里的种种困惑——当你不再跟着新概念焦虑,而…

2026/7/3 6:55:51 阅读更多 →
端到端自动驾驶如何理解绿色化带:从视觉感知到类人决策的挑战与实践

端到端自动驾驶如何理解绿色化带:从视觉感知到类人决策的挑战与实践

1. 项目概述:当“端到端”遇见“绿色化带”最近在自动驾驶圈子里,一个挺有意思的讨论点冒了出来,就是关于“端到端自动驾驶”在实际路测中,对“绿色化带”这类特殊道路元素的感知与决策表现。标题里那句“提前找好了green化带”&a…

2026/7/3 6:55:51 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻