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

Leetcode199二叉树的右视图(java实现)

今天我们分享的题目是199题,题目描述如下:
在这里插入图片描述
那么本道题的解题思路呢就是使用层序遍历,每次将每层中的最后一个元素加入到我们的集合中。
本道题目和之前的层序遍历二叉树的题目很像,但是需要注意的细节。那么我会在代码中指出。
代码如下:

class Solution {List<Integer> res = new ArrayList();public List<Integer> rightSideView(TreeNode root) {calc(root);return res;}public void calc(TreeNode root){if(root==null) return;Queue<TreeNode> queque = new LinkedList();queque.add(root);while(!queque.isEmpty()){int size = queque.size();//这里使用for循环来取我们想要的位置for(int i = 0;i<size;i++){TreeNode node = queque.poll();if(node.left!=null)queque.add(node.left);if(node.right!=null)queque.add(node.right);if(i==size-1) res.add(node.val);} }}}

如果不是太懂层序遍历的逻辑的话,建议先看下二叉树的层序遍历。附上我的链接:http://t.csdnimg.cn/p6f0u
那么今天的文章就分享到这里结束了。希望可以帮助到你

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SQLite 创建表:一场数据库里的“造物运动”
  • CAN总线简介
  • docker 拉取镜像出错
  • iOS App快捷指令(App Intents)在系统搜索服务中注册shortcuts
  • 详解JavaScript
  • 更适合编写股票盯盘软件或者量化交易平台的语言是Python还是C
  • Linux之grafana+onealert报警
  • 学习周报-2024.8.31
  • Tensor常见操作、自动微分及手动构建模型
  • 系统演示视频正确的录制顺序
  • 嵌入式Linux C应用编程指南-进程、线程(速记版)
  • 【SpringBoot】实体多层嵌套如何判空字段?
  • 前端面试——八股文
  • 开发中如何在运行/调试时将项目热部署到Tomcat
  • QT Sql 实现多个股票成交明细数据文件制成数据库并支持查询
  • $translatePartialLoader加载失败及解决方式
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Consul Config 使用Git做版本控制的实现
  • IOS评论框不贴底(ios12新bug)
  • k8s如何管理Pod
  • Material Design
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • rc-form之最单纯情况
  • Redash本地开发环境搭建
  • RxJS: 简单入门
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Spring Cloud中负载均衡器概览
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 基于 Babel 的 npm 包最小化设置
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端技术周刊 2019-02-11 Serverless
  • 前端性能优化——回流与重绘
  • 手写双向链表LinkedList的几个常用功能
  • 推荐一个React的管理后台框架
  • 我的业余项目总结
  • 自定义函数
  • elasticsearch-head插件安装
  • ​力扣解法汇总946-验证栈序列
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (day18) leetcode 204.计数质数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (三)Kafka离线安装 - ZooKeeper开机自启
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .jks文件(JAVA KeyStore)
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .Net Redis的秒杀Dome和异步执行