当前位置: 首页 > news >正文

【队列 + 宽搜(BFS)】4. 在每个树⾏中找最⼤值(medium)

4. 在每个树⾏中找最⼤值(medium)

  • 4. 在每个树⾏中找最⼤值(medium)
    • 题⽬描述:
    • 解法(bfs):
      • 算法思路:
    • 算法代码:

4. 在每个树⾏中找最⼤值(medium)

题⽬链接:515. 在每个树⾏中找最⼤值

题⽬描述:

给定⼀棵⼆叉树的根节点 root ,请找出该⼆叉树中每⼀层的最⼤值。
⽰例 1:
在这里插入图片描述
输⼊: root = [1,3,2,5,3,null,9]
输出: [1,3,9]
⽰例 2:
输⼊: root = [1,2,3]
输出: [1,3]

解法(bfs):

利用层序遍历,统计出每一层的最大值

算法思路:

层序遍历过程中,在执⾏让下⼀层节点⼊队的时候,我们是可以在循环中统计出当前层结点的最⼤值的。
因此,可以在 bfs 的过程中,统计出每⼀层结点的最⼤值。

算法代码:

/*** 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;* }* }*/
class Solution
{public List<Integer> largestValues(TreeNode root) {List<Integer> ret = new ArrayList<>();if(root == null) return ret;Queue<TreeNode> q = new LinkedList<>();q.add(root);while(!q.isEmpty()){int sz = q.size();int tmp = Integer.MIN_VALUE;for(int i = 0; i < sz; i++){TreeNode t = q.poll();tmp = Math.max(tmp, t.val);if(t.left != null) q.add(t.left);if(t.right != null) q.add(t.right);}ret.add(tmp);}return ret;}
}
http://www.dtcms.com/a/513292.html

相关文章:

  • 泰安有口碑的企业建站公司建设外贸网站的细节
  • 360免费建站软仵下载查看网站被恶意镜像
  • 一个人做网站时间展厅设计手绘图
  • 怎么做门淘宝网站开发公司的安全生产工作方案
  • 用asp.net做的网站有哪些企业网站建设中有哪几个重要点
  • [人工智能-大模型-31]:大模型应用层技术栈 - 智能决策层(AI Agent)
  • 东营网站推广排名旅游景区网站建设方案文档
  • 江苏国泰做的网站案例软件开发工具性能审计不包括
  • c语言精品课程网站开发wordpress上传功能
  • 多模态大模型真的需要原生分辨率吗?
  • Kafka 概念与部署手册
  • 计算某天是某年里的第几天
  • 网站外链收录很多 内链收录几个苏州网站建设哪家好
  • 为什么要建设门户网站中企动力科技股份有限公司佛山分公司
  • 湖南智能网站建设平台阿里巴巴外贸网站首页
  • 零基础从头教学Linux(Day 53)
  • 网站制作公司新鸿儒运行两个wordpress
  • 北京顺义有网站建设公司吗临海建设规划局网站
  • 北京手机站建站接游戏单子代打的平台
  • 基于单片机的PID温控风扇设计
  • 鹤山做网站福州企业网站维护
  • 云南省建设注册考试中心网站wordpress 几百万数据
  • 怎样做旅游网站中国公共招聘网
  • 旅游社网站建设规划书制作logo用什么软件
  • 通过内网穿透实现远程访问 Kavita
  • 那些cps网站做的比较好mysql开发网站开发
  • 怎么为一个网站做外链百度云域名备案
  • 专门做自助游的网站python怎么搭建网站
  • 做网站的公司排名做网站的时候宽高
  • 怎么编写网站营销型网站建设思路