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

产品单页网站seoul是什么国家

产品单页网站,seoul是什么国家,赤峰做网站建设的企业,沭阳那家做网站的题目 给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。 示例1: 输入: root [1,3,2,5,3,null,9] 输出: [1,3,9] 解释:1/ \3 2/ \ \ 5 3 9 示例2: 输入: root [1,2,3] 输出: [1,3] 解释:1/ \2 3示例3&#xff…

题目

给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。

示例1:

输入: root = [1,3,2,5,3,null,9]
输出: [1,3,9]
解释:1/ \3   2/ \   \  5   3   9 

示例2:

输入: root = [1,2,3]
输出: [1,3]
解释:1/ \2   3

示例3:

输入: root = [1]
输出: [1]

示例4:

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

示例5:

输入: root = []
输出: []

提示:

  • 二叉树的节点个数的范围是 [0,104]
  • -231 <= Node.val <= 231 - 1

注意:本题与主站 515 题相同: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

LCR 044. 在每个树行中找最大值 - 力扣(LeetCode)

题解

思路一:DFS,用先序遍历深搜,并用 curHeight来标记遍历到的当前节点的高度。当遍历到 时判断是否更新该层节点的最大值。

代码:

class Solution {public List<Integer> largestValues(TreeNode root) {if (root == null) return new ArrayList<Integer>();List<Integer> res = new ArrayList<Integer>();dfs(res, root, 0);return res;}public void dfs(List<Integer> res, TreeNode root, int curHeight) {if (curHeight == res.size()) //到新的一层,加进来第一个值res.add(root.val);else res.set(curHeight, Math.max(res.get(curHeight), root.val));if (root.left != null) dfs(res, root.left, curHeight + 1);if (root.right != null) dfs(res, root.right, curHeight + 1);}
}

思路二:BFS,层序遍历,一层一层扩展,用 maxVal来标记该层节点的最大值。当前层处理完成之后,maxVal即为当前层的最大值。

代码:

class Solution {public List<Integer> largestValues(TreeNode root) {if (root == null) return new ArrayList<Integer>();List<Integer> res = new ArrayList<Integer>();Queue<TreeNode> queue = new ArrayDeque<TreeNode>();queue.offer(root);while (!queue.isEmpty()) {int len = queue.size();//当前len确保了len--到0时,刚好处理完当前层int maxVal = Integer.MIN_VALUE;while (len > 0) {TreeNode t = queue.poll();len--;maxVal = Math.max(maxVal, t.val);if (t.left != null) queue.offer(t.left);if (t.right != null) queue.offer(t.right);}res.add(maxVal);}return res;}
}

tips:关于值传递和引用传递。在Java中用的是值传递。在其它方法里面改变引用类型的值都是通过引用改变的,当传递引用对象的时候,传递的是复制的引用的对象句柄,是复制过的,也就是在内存中复制了一个句柄,这两个句柄指向同一个对象,所以改变这个句柄对应的空间的数据会影响到外部的变量虽然是复制的,但是指向的是同一个地址,当你把这个句柄指向其它对象的引用时并不会改变原来的值(例如String),因为用的是复制过的句柄。

http://www.hkea.cn/news/487231/

相关文章:

  • 铜川市住房和城乡建设局网站信息流广告哪个平台好
  • 太原市建设交易中心网站首页百度手机助手app安卓版官方下载
  • 昆山网站建设网站建设郑州网络推广哪个好
  • 瑜伽网站设计国外推广网站
  • 什么网站做国外批发百度推广自己怎么做
  • 网站管理工具百度推广可以自己开户吗
  • 三水网站制作中山做网站推广公司
  • ysl网站设计论文郑州seo地址
  • 做食品的网站设计要注意片多多可以免费看电视剧吗
  • 网站排名推广自己怎么做长沙seo代理商
  • 手机网站改版公司加盟关键词优化排名查询
  • html5 图片网站建设企业网站多少钱
  • 企业网站定制开发流程网络营销的概念及特点
  • 做火影网站背景图农村电商平台有哪些
  • 国内html5网站建设seo兼职工资一般多少
  • 青海西宁网站建设公司百度网络推广
  • 服装公司网站设计百度站长收录入口
  • 做搜索关键词任务网站网站维护是什么意思
  • 2018什么做网站百度网盘网页版入口
  • 深圳福田大型商城网站建设石家庄最新疫情最新消息
  • 网站版面结构chatgpt 网站
  • 网站后期推广是谁来做广州百度推广开户
  • 不上此网站枉做男人免费制作网站平台
  • 防红短链接生成佛山抖音seo
  • 网站建设php带数据库模板站长工具四叶草
  • 做网站客户拖着不验收店铺推广渠道有哪些方式
  • 站群系统哪个好用怎样进行seo推广
  • 淄博网站建设方案网络推广是做什么的
  • 网站建设销售工作职责seo平台怎么样
  • 免费的网站给一个百度seo优化服务项目