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

力扣面试150题--二叉树的右视图

Day 53

题目描述

在这里插入图片描述

思路

采取层序遍历,利用一个high的队列来保存每个节点的高度,highb和y记录上一个节点的高度和节点,在队列中,如果队列中顶部元素的高度大于上一个节点的高度,说明上一个节点就是上一层中最右边的元素,加入数组即可,同时最后需要处理最后一个元素,因为最后一个元素没有能比较的了,需要手动加入数组。

/*** 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> rightSideView(TreeNode root) {List<Integer>list=new ArrayList<Integer>();if(root==null){return list;}Queue<TreeNode> stack=new LinkedList<>();Queue<Integer> high=new LinkedList<>();stack.offer(root);high.offer(0);TreeNode x=root;TreeNode y=root;int highb=0;while(!stack.isEmpty()){if(high.peek()>highb){list.add(y.val);}y=stack.peek();highb=high.peek();x=stack.poll();high.poll();if(x.left!=null){stack.offer(x.left);high.offer(highb+1);}if(x.right!=null){stack.offer(x.right);high.offer(highb+1);}}list.add(x.val);return list;}
}
http://www.lryc.cn/news/2393156.html

相关文章:

  • 数据绑定页面的完整的原理、逻辑关系、实现路径是什么?页面、表格、字段、属性、值、按钮、事件、模型、脚本、服务编排、连接器等之间的关系又是什么?
  • 江西某石灰石矿边坡自动化监测
  • 《Python 应用中的蓝绿部署与滚动更新:持续集成中的实践与优化》
  • C# 类和继承(所有类都派生自object类)
  • 02业务流程的定义
  • cursor rules设置:让cursor按执行步骤处理(分析需求和上下文、方案对比、确定方案、执行、总结)
  • Linux操作系统之进程(四):命令行参数与环境变量
  • Typora-macOS 风格代码块
  • 如何迁移SOS数据库和修改sos服务的端口号
  • ansible自动化playbook简单实践
  • 20250526惠普HP锐14 AMD锐龙 14英寸轻薄笔记本电脑(八核R7-7730U)的显卡驱动下载
  • WIN11使用vscode搭建c语言开发环境
  • 2025年5月蓝桥杯stema省赛真题——象棋移动
  • AI重构SEO关键词精准定位
  • C++ 模板元编程语法大全
  • SPSS跨域分类:自监督知识+软模板优化
  • 【术语扫盲】BSP与MSP
  • vscode的Embedded IDE创建keil项目找不到源函数或者无法跳转
  • HTTP/2与HTTP/3特性详解:为你的Nginx/Apache服务器开启下一代Web协议
  • 构建高效智能客服系统的8大体验设计要点
  • CppCon 2014 学习:Making C++ Code Beautiful
  • 副本(Replica)在Elasticsearch中扮演什么角色?
  • 据传苹果将在WWDC上发布iOS 26 而不是iOS 19
  • 整理了Windows(7—11)官方镜像下载链接和各版本区别介绍
  • 数据库主键与索引详解
  • RTOS:启动调度器的作用(含源码逐行解读)
  • 【Python 进阶】抽象基类(Abstract Base Class)
  • Armv7l或树莓派32位RPI 4B编译faiss
  • 嵌入式开发STM32 -- 江协科技笔记
  • [网页五子棋][用户模块]客户端开发(登录功能和注册功能)