每日一题(LeetCode)----二叉树-- 二叉树的右视图

每日一题(LeetCode)----二叉树-- 二叉树的右视图

1.题目(199. 二叉树的右视图)

  • 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

    示例 1:

    img

    输入: [1,2,3,null,5,null,4]
    输出: [1,3,4]
    

    示例 2:

    输入: [1,null,3]
    输出: [1,3]
    

    示例 3:

    输入: []
    输出: []
    

    提示:

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

2.解题思路

思路一:层序遍历

1.创建一个队列,队列用来存二叉树节点(实际上是地址)和一个结果数组,结果数组用来存最终的结果

2.定义一个变量来记录当前层元素的个数

3.初始时,我们将根节点放入到队列中去,当前层元素个数记为1(提示:每出队列一个元素,那么当前层元素的个数进行-1操作)

4.我们将队列中的首元素出列,并将其不为空的左孩子和右孩子入队,然后当前层元素个数-1,当当前层元素个数变为0时,我们将当前元素放入到我们的结果数组中,并获取下一层元素个数,重复这个操作,直到队列为空结束

5.返回结果数组

3.写出代码

思路一的代码

class Solution {
public:vector<int> rightSideView(TreeNode* root) {vector<int> res;if(root==nullptr){return res;}queue<TreeNode*> qe;int t=0;qe.push(root);t=1;while(!qe.empty()){TreeNode* temp=qe.front();qe.pop();if(temp!=nullptr&&temp->left!=nullptr){qe.push(temp->left);}if(temp!=nullptr&&temp->right!=nullptr){qe.push(temp->right);}t--;if(t==0){t=qe.size();res.push_back(temp->val);}}return res;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/581249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

助力打造清洁环境,基于美团最新YOLOv6-4.0开发构建公共场景下垃圾堆放垃圾桶溢出检测识别系统

公共社区环境生活垃圾基本上是我们每个人每天几乎都无法避免的一个问题&#xff0c;公共环境下垃圾投放点都会有固定的值班时间&#xff0c;但是考虑到实际扔垃圾的无规律性&#xff0c;往往会出现在无人值守的时段内垃圾堆放垃圾桶溢出等问题&#xff0c;有些容易扩散的垃圾比…

Nginx附-实战之负载均衡时怎么让请求不转发到一台正在启动的tomcat服务器上

问题描述 用nginx做负载均衡的时候&#xff0c;当一台挂掉的时候&#xff0c;请求会转发到另外一台。但挂掉这一台的tomcat服务在启动过程中&#xff0c;Nginx请求可能会转发到这台正在启动的服务器上&#xff0c;就会一直等待直到超时&#xff0c;前端使用者的体验就会很差。…

Apache Flink连载(十八):Flink On Yarn运行原理及环境准备

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录 1. Flink On Yarn运行原理…

【Pytorch】学习记录分享8——PyTorch自然语言处理基础-词向量模型Word2Vec

【Pytorch】学习记录分享7——PyTorch自然语言处理基础-词向量模型Word2Vec 1. 词向量模型Word2Vec)1. 如何度量这个单词的&#xff1f;2.词向量是什么样子&#xff1f;3.词向量对应的热力图&#xff1a;4.词向量模型的输入与输出![在这里插入图片描述](https://img-blog.csdni…

IT安全:实时网络安全监控

了解庞大而复杂的网络环境并非易事&#xff0c;它需要持续观察、深入分析&#xff0c;并对任何违规行为做出快速反应。这就是为什么实时网络安全监控工具是任何组织 IT 安全战略的一个重要方面。 网络攻击和合规性法规是 IT 安全的两个主要驱动因素。同时&#xff0c;数据泄露…

卷积神经网络 反向传播

误差的计算 softmax 经过softmax处理后所有输出节点概率和为1 损失&#xff08;激活函数&#xff09; 多分类问题&#xff1a;输出只可能归于某一个类别&#xff0c;不可能同时归于多个类别。 误差的反向传播 求w的误差梯度 权值的更新 首先是更新输出层和隐藏层之间的权重…

QT+OSG/osgEarth编译之六十一:bmp+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_bmp)

目录 1、BMP介绍 2、文件分析 3、pro文件 4、编译实践 1、BMP介绍 BMP取自位图Bitmap的缩写,是以微软开发的位图(Bitmap)图像格式保存的图片,也称为DIB(与设备无关的位图)。 BMP是一种独立于显示器的位图数字图像文件格式,支持可变颜色位深度和图像元数据的单…

Oracle数据updater如何回滚

1.查询update语句执行的时间节点 &#xff1b; select t.FIRST_LOAD_TIME, t.SQL_TEXT from v$sqlarea t where to_char(t.FIRST_LOAD_TIME) > 2023-03-19/17:00:00 order by t.FIRST_LOAD_TIME desc;开启表的行迁移 alter table test enable row movement;3.回滚表数据到…

[Android] 如何在Android中执行自己编译的可执行文件

1.push文件到 /data/local adb push file /data/local 2.增加可执行权限 adb shell chmod x /data/local/file 3.运行 adb shell ./data/local/file

【架构】企业信息安全体系架构详解

企业信息安全体系架构来说,是包含技术、运维、管理3个层面。本文说的安全架构,主要集中讨论偏研发技术层面的安全架构。 安全性是软件研发技术体系,系统架构设计阶段的一个关键DFX能力,与可靠性、可服务性、性能等架构属性并列。由于安全性设计自身的特点,涉及到系统架构…

数据分析之词云图绘制

试验任务概述&#xff1a;如下为所给CSDN博客信息表&#xff0c;分别汇总了ai, algo, big-data, blockchain, hardware, math, miniprog等7个标签的博客。对CSDN不同领域标签类别的博客内容进行词频统计&#xff0c;绘制词频统计图&#xff0c;并根据词频统计的结果绘制词云图。…

PyQt 打包成exe文件

参考链接 Python程序打包成.exe(史上最全面讲解)-CSDN博客 手把手教你将pyqt程序打包成exe(1)_pyqt exe-CSDN博客 PyInstaller 将DLL文件打包进exe_怎么把dll文件加到exe里-CSDN博客 自己的问题 按照教程走的话&#xff0c;会出现找不到“mmdeploy_ort_net.dll”文件的报错…

CentOS 5/6/7 基于开源项目制作openssh 9.6p1 rpm包—— 筑梦之路

背景介绍 开源项目地址&#xff1a;https://github.com/boypt/openssh-rpms.git 该项目主要支持了centos 5 、6、7版本&#xff0c;针对使用了比较老的操作系统进行openssh安全加固&#xff0c;还是不错的项目&#xff0c;使用简单、一件制作&#xff0c;欢迎大家去支持作者。…

go语言10进制与16进制转换

野旷天低树&#xff0c;江清月近人 目录 16进制字符串转16进制int64 16进制字符串转10进制字符串 10进制字符串转16进制字符串 10进制字符串转换10进制int64 16进制字符串转16进制int64 strconv.ParseInt(str, 16, 64) 16进制字符串转10进制字符串 ​dist16Int64, err : …

c语言-打印某种图案练习题

目录 前言一、题目一二、题目二总结 前言 本篇文章叙述c语言中打印某种图案的练习题&#xff0c;以便加深对c语言的运用和理解。 一、题目一 题目分析&#xff1a; 行与行之间的关系&#xff1a;第一行不进行空格&#xff0c;从第二行开始空一个空格&#xff0c;后面的空格式逐…

羊大师教你如何选择,适合老人饮用的羊奶?

羊大师教你如何选择&#xff0c;适合老人饮用的羊奶&#xff1f; 羊奶作为一种营养丰富的天然健康饮品&#xff0c;备受人们的青睐。而对于老年人来说&#xff0c;选择适合的羊奶品牌和产品并非易事。那么&#xff0c;如何选择适合老人饮用的羊奶呢&#xff1f;下面为您介绍几…

音视频编码基础知识

视频编码指的是通过特定的压缩技术将一种视频格式文件转换成另一种视频格式文件的过程。 常见的视频编码&#xff1a; MPEG类 MPEG1&#xff08;VCD等使用&#xff09;&#xff0c;MPEG2&#xff08;DVD等使用&#xff09;&#xff0c;MPEG4&#xff08;DivX&#xff0c;XviD…

基于Python的城市热门美食数据可视化分析系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 本项目利用网络爬虫技术从XX点评APP采集北京市的餐饮商铺数据&#xff0c;利用数据挖掘技术对北京美食的分布、受欢迎程度、评价、评论、位置等情况进行了深入分析&#xff0c;方便了解城市美食店…

C# 操作非持久化内存映射文件

目录 写在前面 代码实现 进程A 进程B 进程C 调用示例 总结 写在前面 多个进程之间&#xff0c;通过操作未映射到磁盘上现有文件的内存映射文件&#xff0c;可以实现数据共享和类似进程间通讯的功能。以下示例展示了使用三个独立进程&#xff0c;先各自将布尔值写入内存…

cpp_07_类型转换构造_析构函数_深拷贝_静态成员

1 类型转换构造函数 1.1 why? 基本类型之间的转换&#xff0c;编译器内置转换规则&#xff1a;int -> double 类类型之间的转换&#xff0c;编译器不知道转换规则&#xff0c;需要用户提供&#xff1a;Cat -> Dog // consconv_why.cpp 为什么需要自定义转换 #includ…