首页/新闻资讯/正文详情

DeepSeek LeetCode 515. 在每个树行中找最大值 Java实现

发布时间:2026/11/4 16:25:08 来源:云帆数科 栏目:资讯中心
DeepSeek    LeetCode 515. 在每个树行中找最大值 Java实现
LeetCode 515. 在每个树行中找最大值 · Java 实现题意给定二叉树根节点 root返回每一层节点的最大值组成的列表从上到下。示例1 / \ 3 2 / \ \ 5 3 9输出[1, 3, 9]思路一BFS 层序遍历推荐核心逐层遍历每层用一个变量记录最大值遍历完该层后加入结果。importjava.util.*;classSolution{publicListIntegerlargestValues(TreeNoderoot){ListIntegerresnewArrayList();if(rootnull)returnres;QueueTreeNodequeuenewArrayDeque();queue.offer(root);while(!queue.isEmpty()){intsizequeue.size();intmaxInteger.MIN_VALUE;// 注意初始值不能是 0for(inti0;isize;i){TreeNodenodequeue.poll();maxMath.max(max,node.val);if(node.left!null)queue.offer(node.left);if(node.right!null)queue.offer(node.right);}res.add(max);}returnres;}}关键点· 用 size 锁定当前层节点数一次循环处理一层。· max 初始化为 Integer.MIN_VALUE因为节点值可能为负不能用 0。思路二DFS 记录每层最大值用 depth 作为层号res 的下标即层号。第一次到达某层时先占位之后与当前层最大值比较。classSolution{publicListIntegerlargestValues(TreeNoderoot){ListIntegerresnewArrayList();dfs(root,0,res);returnres;}privatevoiddfs(TreeNodenode,intdepth,ListIntegerres){if(nodenull)return;if(depthres.size()){res.add(node.val);// 第一次到达该层直接加入}else{res.set(depth,Math.max(res.get(depth),node.val));}dfs(node.left,depth1,res);dfs(node.right,depth1,res);}}DFS 的时间也是 O(n)空间取决于树高 O(h)。和 BFS 相比代码更短但层号 列表长度的判定是重点。两种方法对比方法 时间 空间 特点BFS 层序 O(n) O(w)最大层宽 最直观面试首选DFS 前序 O(n) O(h)树高 代码短需理解层号 长度判定最坏空间都是 O(n)。DFS 在链状树时只占 O(h) O(n) 的递归栈比 BFS 的 O(1) 宽还占得多一些BFS 在满二叉树时占 O(n/2)。实际差异不大。关键坑点 ⚠️max 初始值必须是 Integer.MIN_VALUE不能是 0· 节点值可能全是负数初始化 0 会得到错误的 0。· 也可用该层第一个节点的值初始化。空树要提前返回空列表· root null 时直接 return res;否则 queue.offer(null) 会抛 NPEArrayDeque 不允许 null。必须用 size 锁定当前层· while (!queue.isEmpty()) 中每次取 queue.size() 的快照否则边入队边判断会打乱层级。DFS 版本中 depth res.size() 的判定· 含义“第一次到达第 depth 层”。· 用 depth res.size() 也行但 更精确因为 DFS 深度每次只 1不可能跳跃。别把每层的 max 写进循环外· max 必须在每层开始时重新初始化否则会跨层污染。ArrayDeque 作为 Queue 用不支持 offer(null)· 左右孩子入队前判断 ! null。返回值是 List元素顺序是从上到下· BFS 天然满足DFS 用层号下标也能保证顺序正确。一句话总结BFS 逐层扫size 定边界每层取 max初始 Integer.MIN_VALUE是本题最标准也最不易错的写法。DFS 也能做靠层号 列表长度来第一次占位之后的节点更新该层最大值。

相关推荐

AI时代,不会用AI的程序员会被淘汰!年薪百万?转型路径全解析
AI时代,不会用AI的程序员会被淘汰!年薪百万?转型路径全解析

文章指出AI将导致初级程序员岗位需求暴跌52%,但懂AI的程序员年薪百万将成为常态。AI将替代重复性编码工作,而大模型应用开发、AI解决方案架构师等岗位需求暴涨。程序员需从“手写代码”转向“人机协同”,提升需求拆解、代码审核和跨领域整合能… · 2026/11/4 16:25:08

Github star 30k,这个开源工具专治网页的AI味
Github star 30k,这个开源工具专治网页的AI味

你有没有过这种经历:让 AI 帮你写个落地页,它三秒钟给你吐出来一个。你满心欢喜地打开一看,紫色渐变、三列卡片、Inter 字体、居中的 Hero 区域,跟上周生成的另一个页面不能说一模一样,只能说换了张皮。 你以为是自己的… · 2026/11/4 16:24:08

DSH降版本(命令行/Web 端)
DSH降版本(命令行/Web 端)

第一步:清理 DSH 的数据目录(最关键)你所有出问题的插件配置、profile 残留,都在这个目录里:bashrmdir /s /q C:\Users\xysoft59\.dsh第二步:清理 npm 缓存(可选,但建议做&#xff0… · 2026/11/4 16:23:07

鸿蒙OS金融App全栈优化:安全与性能实战
鸿蒙OS金融App全栈优化:安全与性能实战

1. 项目背景与核心价值 金融理财类App作为直接涉及用户资金安全的高敏感度应用,对系统稳定性、响应速度和数据安全有着近乎苛刻的要求。这个鸿蒙全栈项目正是针对金融行业特殊需求打造的解决方案,覆盖了从底层系统适配到上层业务逻辑的全链路优化。 在传… · 2026/11/4 17:04:57

Linux大文件解压避坑:7z替代unzip与ZIP炸弹体检
Linux大文件解压避坑:7z替代unzip与ZIP炸弹体检

解压一个几十 GB 的归档包,看起来是最没有技术含量的活,直到 unzip 在终端里甩出一行红字,或者跑了四十分钟后卡在 99% 不动,你才会意识到这件事没那么简单。我近几年处理过不少大体量数据交付包,压缩格式五花八门&… · 2026/11/4 17:04:57

从告警到攻击链路:关联分析与链路展示工程实践
从告警到攻击链路:关联分析与链路展示工程实践

值班室里最难受的时刻,不是告警太少,而是屏幕上一天刷过去几千条告警,每一条单看都像那么回事,凑在一起却完全读不出发生了什么。IDS说某台机器有异常外连,终端侧说某个账号在批量试密码,日志平台说某台服务… · 2026/11/4 17:04:57

ToDesk 2025远程控制技术:8K/360帧与ZeroSync引擎解析
ToDesk 2025远程控制技术:8K/360帧与ZeroSync引擎解析

1. 远程控制技术的2025年进化:ToDesk年度报告深度解析 远程控制技术正在经历一场前所未有的变革。作为一名长期关注远程协作工具的技术从业者,我亲眼见证了ToDesk从最初的简单远程桌面工具,发展到如今支持8K/360帧超高清传输的全能平台。2025… · 2026/11/4 17:04:57

LLM赋能Text-to-SQL技术解析与应用实践
LLM赋能Text-to-SQL技术解析与应用实践

1. 项目概述:LLM赋能的下一代数据库交互范式 三年前当我第一次在团队内部演示用自然语言直接生成SQL查询时,多数同事还认为这只是个有趣的玩具。如今,基于大语言模型(LLM)的Text-to-SQL技术正在彻底重构人机交互数据库… · 2026/11/4 17:04:57

论文AI率检测与优化工具全解析
论文AI率检测与优化工具全解析

1. 论文AI率问题的现状与挑战 最近两年,学术圈出现了一个新名词叫"AI率",指的是论文中被检测工具判定为AI生成内容的比例。这个问题已经让不少研究生和科研工作者头疼不已——我指导的几位硕士生就遇到过投稿被编辑部直接退回的情况&#xff0… · 2026/11/4 17:03:56

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码