news 2026/2/2 0:50:01

2026年--Lc340-1161. 最大层内元素和(二叉树 , 广度优先搜索bfs)--java版

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2026年--Lc340-1161. 最大层内元素和(二叉树 , 广度优先搜索bfs)--java版

1.题目


2.思路

用bfs来遍历每一层的节点,然后对每一层的节点求和。
(1)弄一个最大值计数器,用来保存每一层的最大值
(2)while(!q.isEmpty())
q.isEmpty() 表示:q 这个列表为空(没有节点了)。

!q.isEmpty() 表示:q 不为空,还有节点要处理。

按层遍历的逻辑是:只要当前层还有节点,就继续循环;当 q 为空,说明没有下一层了,遍历结束。
List tmp = q;只是让 tmp 引用当前的 q(当前层)。
遍历 tmp(当前层)

q = new ArrayList<>();
随后把 q 换成新的空列表,用来装下一层节点。这样就能在循环里。
把孩子节点加到 q(下一层)

把计数器置为空,层级加一。
对当前层进行求和操作
遍历当前层的节点有左孩子,左孩子入队;遍历当前层的节点有右孩子,右孩子入队。

遍历结束后,用 maxSum 更新最大层和,并进入下一层。

3.代码实现

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */classSolution{publicintmaxLevelSum(TreeNoderoot){if(root==null){return0;}//1.最大值intmaxSum=Integer.MIN_VALUE;//最后的结果变量intres=0;//q用来存当前层的节点List<TreeNode>q=newArrayList<>();//层级intlevel=0;//根节点入队q.add(root);//当前层节点不空while(!q.isEmpty()){List<TreeNode>tmp=q;//tmp存储当前层的节点q=newArrayList<>();//q置空,用来存储下一层的节点intsum=0;//sum 是当前层的和for(TreeNodenode:tmp){sum=sum+node.val;if(node.left!=null){q.add(node.left);}if(node.right!=null){q.add(node.right);}// level++;如果放在遍历节点数中,导致level数按节点数增加}level++;//按层级数增加if(sum>maxSum){maxSum=sum;res=level;}}returnres;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/16 17:42:41

Java锁机制八股文

一、简短结论 CAS是基础&#xff1a;所有Java锁机制的底层都依赖CAS实现原子操作AQS是框架&#xff1a;ReentrantLock等JUC锁基于AQS&#xff0c;AQS使用CASCLH队列synchronized是混合锁&#xff1a;经历了偏向锁→轻量级锁→重量级锁的升级过程&#xff0c;内部大量使用CAS锁选…

作者头像 李华
网站建设 2026/1/25 16:22:55

微信视频号下载器,蝴蝶号视频下载

自媒体必备神器-微信视频号下载器 - 教你如何下载视频号视频 体积小、使用简单、支持 macOS 和 Windows 系统。 一、下载器简介 对于自媒体人来说&#xff0c;获取和保存微信视频号上的优质视频内容&#xff0c;是日常创作和学习的重要一环。为了帮助大家轻松下载微信视频号…

作者头像 李华
网站建设 2026/1/27 4:30:16

强烈安利9个AI论文平台,本科生毕业论文轻松搞定!

强烈安利9个AI论文平台&#xff0c;本科生毕业论文轻松搞定&#xff01; AI 工具让论文写作变得轻松高效 在当今这个信息爆炸的时代&#xff0c;本科生的毕业论文写作早已不再是单纯的学术挑战&#xff0c;而是一场与时间、效率和质量的较量。尤其是面对复杂的选题、繁重的文献…

作者头像 李华
网站建设 2026/2/1 21:03:42

51单片机——GPIO、按键、中断、定时器与PWM

目录 一、GPIO 1.1 核心概念 1.2 工作模式分类 1.2.1 输出模式&#xff1a;控制外设 1.2.2 输入模式&#xff1a;检测外设信号 二、独立按键 2.1 硬件连接原理 2.2 核心工作逻辑 2.3 消抖处理 三、中断系统 3.1 中断核心概念 3.2 中断源分类与关键参数 3.3 中断处…

作者头像 李华
网站建设 2026/1/15 3:59:30

论文初稿难产?10款AI工具助你高效降重与生成,大幅提升写作效率

&#xfffd;&#xfffd; AI工具性能速览表 工具名称 核心功能 处理时间 AI生成率控制 适配检测平台 askpaper 降AIGC率降重同步 20分钟 个位数 知网/格子达/维普 秒篇 AI痕迹深度弱化 20分钟 个位数 知网/格子达/维普 aicheck 全学科初稿生成 20-30分钟 低…

作者头像 李华