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

article/2025/8/27 1:24:42

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.hkcw.cn/article/WogEiocYkm.shtml

相关文章

Powerbuilder 连接达梦数据库(ODBC 和 JDBC)

一、ODBC PB只支持32位驱动&#xff0c;可以同时安装64和32位驱动&#xff0c;分别下载64和32位安装包安装 1、选择DMB ODBC DRIVER驱动 2、不描述&#xff0c;看图输信息即可 3、连接代码 SQLCA.DBMS "ODBC" SQLCA.AutoCommit False SQLCA.DBParm "Conne…

美化显示GDB调试的数据结构

笔者在前面的博文记一次pdf转Word的技术经历中有使用到mupdf库&#xff0c;该库是使用C语言写的一个操作PDF文件的库&#xff0c;同时提供了Python接口&#xff0c;Java接口和JavaScript接口。 在使用该库时&#xff0c;如果想要更高的性能&#xff0c;使用C语言接口是不二的选…

从融智学视角对决策态度进行定理级提炼,结合三标准数学建模

摘要&#xff1a;本文从融智学视角提出"决策态度定理"&#xff0c;构建了态度三要素&#xff08;化繁为简、迎难而上、乐在其中&#xff09;的数学模型。定理将人生轨迹表述为复平面路径积分&#xff1a;命运∫[态度⊗选择]dt&#xff0c;证明三要素协同作用可使决策…

秋招Day11 - JVM - 类加载机制

了解类的加载机制吗&#xff1f; JVM是运行Java字节码&#xff0c;也就是运行.class文件的虚拟机&#xff0c;JVM把.class文件中描述类的数据结构加载到内存中&#xff0c;并对数据进行校验&#xff0c;解析和初始化&#xff0c;最终转化为JVM可以使用的类型&#xff08;Klass…

纵览网丨病毒学领域的 AI 变局:机遇、隐忧与监管之路

纵览网&#xff08;www.zonglan.com&#xff09;人工智能AI正在各个领域高歌猛进&#xff0c;特别是在病毒学领域。最近在一项病毒学诊断的研究测试中&#xff0c;有着天才水平称号的OpenAI的o3模型&#xff0c;平均得分已经能够达到43.8%&#xff0c;而拥有学位的人类病毒博士…

从实验室到商用!铁电液晶如何改写显示技术格局?

一、显示技术瓶颈&#xff1a;传统液晶的「成长烦恼」 在 VR 游戏中&#xff0c;快速转动头部时画面拖影让人眩晕&#xff1b;高端投影在强光下画质模糊&#xff1b;医用显示器难以呈现 CT 影像的细微层次…… 这些困扰背后&#xff0c;是传统液晶技术在刷新率、分辨率和环境适…

电网中三相不平衡治理的全面解析

在现代电力系统中&#xff0c;三相平衡是保障电网高效、稳定运行的关键要素。然而&#xff0c;三相不平衡现象却时有发生&#xff0c;给电网的可靠供电和用电设备的安全运行带来诸多挑战。深入了解三相不平衡治理的相关知识&#xff0c;对于提升电网运行水平、保障电力供应质量…

2023年6级第一套长篇阅读

画名词概念&#xff0c;动词概念 多处定位原词加同义改写 画关键词&#xff0c;多处定位直接就可以选A了 没有定位的句子先比没匹配到的段落&#xff0c;再匹配长的段落先易后难

Opencv实用操作5 图像腐蚀膨胀

相关函数 腐蚀函数 img1_erosion cv2.erode(img1,kernel,iterations1) &#xff08;图片&#xff0c;卷积核&#xff0c;次数&#xff09; 膨胀函数 img_dilate cv2.dilate(img2,kernel1,iterations1) &#xff08;图片&#xff0c;卷积核&#xff0c;次数&#xff09;…

lua的注意事项2

总之&#xff0c;下面的返回值不是10&#xff0c;a&#xff0c;b 而且

vr中风--数据处理模型搭建与训练

# -*- coding: utf-8 -*- """ MUSED-I康复评估系统&#xff08;增强版&#xff09; 包含&#xff1a;多通道sEMG数据增强、混合模型架构、标准化处理 """ import numpy as np import pandas as pd from sklearn.model_selection import train_te…

【Oracle】DCL语言

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. DCL概述1.1 什么是DCL&#xff1f;1.2 DCL的核心功能 2. 用户管理2.1 创建用户2.2 修改用户2.3 删除用户2.4 用户信息查询 3. 权限管理3.1 系统权限3.1.1 授予系统权限3.1.2 撤销系统权限 3.2 对象权限3.2.1…

使用Redisson实现分布式锁发现的【订阅超时】Subscribe timeout: (7500ms)

背景 使用 redisson 实现分布式锁&#xff0c;出现的异常&#xff1a; org.redisson.client.RedisTimeoutException: Subscribe timeout: (7500ms). Increase ‘subscriptionsPerConnection’ and/or ‘subscriptionConnectionPoolSize’ parameters 从异常信息读的出来一些东…

异步上传石墨文件进度条前端展示记录(采用Redis中String数据结构实现-苏东坡版本)

昔者&#xff0c;有客临门&#xff0c;亟需自石墨文库中撷取卷帙若干。此等文册&#xff0c;非止一卷&#xff0c;乃累牍连篇&#xff0c;亟需批量转置。然吾辈虑及用户体验&#xff0c;当效东坡"腹有诗书气自华"之雅意&#xff0c;使操作如行云流水&#xff0c;遂定…

数据可视化--使用matplotlib绘制高级图表

目录 一、绘制等高线图 contour() 二、绘制矢量场流线图 streamplot() 三、绘制棉棒图 stem() 四、绘制哑铃图 五、绘制甘特图 六、绘制人口金字塔图 barh() 七、绘制漏斗图 简易版漏斗图 八、绘制桑基图 Sankey()---创建桑基图 add()---添加桑基图的选项 finish()…

[Windows] 摸鱼小工具:隐藏软件(重制版)

由吾爱大神写的摸鱼工具&#xff1a; 数据存放路径为C:\Users\用户名\AppData\Local\HideSoft&#xff0c;如果不想用时&#xff0c;删除软件及此路径下的HideSoft文件夹。如添加了开机启动&#xff0c;删除启动菜单文件夹的快捷方式即可&#xff0c;或者删除前在软件中取消设置…

模块化集成建筑(MiC建筑):颠覆传统的未来建造革命

传统建筑行业长期面临"高污染、高能耗、低效率"的困境。施工现场粉尘飞扬、建材浪费严重、人工依赖度高&#xff0c;这些痛点制约着行业现代化进程。而MiC技术通过将建筑分解为标准化模块&#xff0c;彻底颠覆了传统建造模式。 在海南海口刚刚落幕的第二十一届国际绿…

【文献阅读】Hierarchical Reinforcement Learning: A ComprehensiveSurvey

Acm Computing Surveys (csur) 1区 2021年 分层强化学习&#xff1a;全面综述 分层强化学习&#xff08;HRL&#xff09;能够将具有挑战性的长时决策任务自主分解为更简单的子任务。在过去几年里&#xff0c;HRL 研究领域取得了显著发展&#xff0c;产生了大量方法。为了系…

鸿蒙网络数据传输案例实战

一、案例效果截图 二、案例运用到的知识点 核心知识点 网络连接管理&#xff1a;connection模块HTTP数据请求&#xff1a;http模块RPC数据请求&#xff1a;rcp模块文件管理能力&#xff1a;fileIo模块、fileUri模块 其他知识点 ArkTS 语言基础V2版状态管理&#xff1a;Comp…

linux有效裁剪视频的方式(基于ffmpeg,不改变分辨率,帧率,视频质量,不需要三方软件)

就是在Linux上使用OBS Studio录制一个讲座或者其他视频&#xff0c;可能总有些时候会多录制一段时间&#xff0c;但是如果使用剪映或者PR这样的工具在导出的时候总需要烦恼导出的格式和参数&#xff0c;比如剪映就不支持mkv格式的导出&#xff0c;导出成mp4格式的视频就会变得很…