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
那么今天的文章就分享到这里结束了。希望可以帮助到你

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

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

相关文章

Flink CDC读取Mysql时,Decimal类型数据异常,变成了字符串(源码解析及解决方案)

1. 问题说明 使用Flink CDC 读取mysql数据时,当表字段为decimal时,读取的数据变成了字符串。 如下示例: 环境: Flink 1.18.0 Flink CDC 3.1.1 mysql 8 mysql的数据如下: 使用Flink CDC读取后的数据如下: 为了方便看,复制出来就是: {“id”:1,“price”:“AZA=”,…

ClickHousez中如何定时清理过期数据库?

一、脚本清理 要在ClickHouse中自动删除过期的数据库&#xff0c;你可以使用ClickHouse的SQL命令结合外部脚本&#xff08;如Shell脚本&#xff09;和计划任务&#xff08;如cron&#xff09;来实现。下面是一个示例&#xff0c;展示如何创建一个Shell脚本来检查数据库的创建时…

[引人深思]博彩用户真的赢了吗?——多维度揭示赌博危害

1.项目背景 博彩业&#xff0c;作为全球经济中一个庞大而复杂的行业&#xff0c;吸引了无数用户参与其中&#xff0c;然而&#xff0c;在巨大的利益诱惑背后&#xff0c;博彩业对个人和社会造成的潜在危害却不容忽视&#xff0c;尽管博彩活动常被包装为“娱乐”或“休闲活动”…

VCTP论文精读

机器视觉推理自从引入神经符号机制以来取得了巨大进步&#xff0c;这使得机器能够发展出多步骤的推理链。然而&#xff0c;正如早期认知科学家所预示的那样&#xff0c;这种逻辑和符号系统基本上不适合于现实世界、常识知识的表示和推理&#xff0c;因为它们仅依赖于封闭世界的…

详解树状数组(C/C++)

树状数组&#xff08;Binary Indexed Tree&#xff0c;简称BIT或Fenwick Tree&#xff09;是一种用于高效处理数据序列的算法数据结构。它能够支持两个主要操作&#xff1a;单点更新和区间求和&#xff0c;这两个操作的时间复杂度都能达到O(log n)&#xff0c;其中 n 是数据序列…

搭建基于QT的TCP服务器与客户端

1、实现功能 1、服务器和客户端能够建立连接 2、服务器可以给客户端发送信息 3、客户端可以给服务器发送信息 2、server 2-1、widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QTcpSocket> QT_BEGIN_NA…

【LangChain】使用LangChain的提示词模板:技巧与总结

&#x1f601; 作者简介&#xff1a;前端开发爱好者&#xff0c;致力学习前端开发技术 ⭐️个人主页&#xff1a;夜宵饽饽的主页 ❔ 系列专栏&#xff1a;JavaScript小贴士 &#x1f450;学习格言&#xff1a;成功不是终点&#xff0c;失败也并非末日&#xff0c;最重要的是继续…

电感的分类

电感作为电子电路中的重要元件&#xff0c;具有多种分类方式&#xff0c;每种类型的电感都有其独特的优缺点。以下是对电感分类及其优缺点的详细分析&#xff1a; 一、按工作频率分类 高频电感&#xff1a;适用于高频电路&#xff0c;具有较高的自谐振频率和较低的损耗。 优点…

9-8 束搜索

贪心搜索 穷举搜索 束搜索 小结 序列搜索策略包括贪心搜索、穷举搜索和束搜索。 贪心搜索所选取序列的计算量最小&#xff0c;但精度相对较低。 穷举搜索所选取序列的精度最高&#xff0c;但计算量最大。 束搜索通过灵活选择束宽&#xff0c;在正确率和计算代价之间进行权衡…

Hive 案例分析(B站用户行为大数据分析)

Hive 案例分析&#xff08;B站用户行为大数据分析&#xff09; 一、案例需求二、设计数据表结构2.1 user 表结构2.2 video 表结构 三、创建数据表3.1 创建 video 数据库3.2 创建外表3.1.2 创建 external_user3.1.3 创建 external_video 3.2 创建内表3.2.1 创建 orc_user3.2.2 创…

【Qt笔记】QTreeView控件详解

目录 引言 一、QTreeView的基本用法 1. 创建QTreeView 2. 设置数据模型 3. 展开和折叠节点 4. 处理用户交互 二、自定义数据模型 1. 继承QAbstractItemModel 2. 实现必要的方法 3. 使用自定义模型 三、自定义视图和委托 1. 自定义视图 2. 自定义委托 四、过滤与…

C++ | Leetcode C++题解之第378题有序矩阵中第K小的元素

题目&#xff1a; 题解&#xff1a; class Solution { public:bool check(vector<vector<int>>& matrix, int mid, int k, int n) {int i n - 1;int j 0;int num 0;while (i > 0 && j < n) {if (matrix[i][j] < mid) {num i 1;j;} else…

YOLOv9改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型

一、本文介绍 本文记录的是基于MobileNet V3的YOLOv9目标检测轻量化改进方法研究。MobileNet V3的模型结构是通过网络搜索得来的&#xff0c;其中的基础模块结合了MobileNet V1的深度可分离卷积、MobileNet V2的线性瓶颈和倒置残差结构以及MnasNet中基于挤压和激励的轻量级注意…

python-Flask搭建简易登录界面

使用Flask框架搭建一个简易的登录界面&#xff0c;登录成功获取token数据 1 搭建简易登录界面 代码如下 from flask import Flask, jsonify from flask import request import time, hashlibapp Flask(__name__)login_html <html> <head> <title>Log…

day7 测试知识积累

1.有一个班级表,里面有学号,姓名,学科,分数。找到语文学科分数最高的前10位的姓名(SQL) select 姓名 from 班级表 where 学科=语文 order by 分数 DESC limit 10; 2.有一张年级表,有班级,年级,学生姓名,找到这10名同学所在的班级(SQL) select class from 年级表 wher…

图片转为PDF怎么弄?看这里,三款软件助你一键转换!

嘿&#xff0c;朋友们&#xff01;现在信息这么多&#xff0c;图片在我们学习、工作、生活中帮了大忙。但有时候&#xff0c;我们想把图片整理好、分享给别人或者打印出来&#xff0c;PDF格式就特别合适。PDF文件不管在哪儿打开&#xff0c;内容都不会变样&#xff0c;还能加密…

【CVPR‘24】DeCoTR:使用 2D 和 3D 注意力增强深度补全

DeCoTR: Enhancing Depth Completion with 2D and 3D Attentions DeCoTR: Enhancing Depth Completion with 2D and 3D Attentions 中文解析摘要介绍方法方法3.1 问题设置3.2 使用高效的 2D 注意力增强基线3.3 3D中的特征交叉注意力点云归一化位置嵌入3.4 捕捉 3D 中的全局上下…

Ubuntu 安装个人热点

1. 安装必要的软件 首先&#xff0c;我们需要确保有一些工具已经装好&#xff0c;这些工具会帮助我们创建 Wi-Fi 热点。打开终端&#xff0c;输入以下命令来安装这些工具&#xff1a; sudo apt-get install git hostapd iptables dnsmasq 2. 下载并安装 create_ap 我们接下来…

【我的Android进阶之旅】快来给你的Kotlin代码添加Markdown格式的注释吧!

文章目录 一、 传统 HTML 格式注释二、 Markdown 格式注释三.、Markdown格式注释详解3.1. 基础语法3.1.1 单行注释3.1.1 多行注释3.2 标题3.3 列表3.4 加粗和斜体3.5 代码块3.6 链接3.7 引用3.8 表格3.9. 图片3.10. 示例代码3.11. 注释模板的使用场景3.12 实例示例四、总结在 A…

Vue面试常见知识总结2——spa、vue按需加载、mvc与mvvm、vue的生命周期、Vue2与Vue3区别

SPA SPA&#xff08;Single Page Application&#xff0c;单页面应用&#xff09;是一种Web应用程序架构&#xff0c;其核心特点是在用户与应用程序交互时&#xff0c;不重新加载整个页面&#xff0c;而是通过异步加载页面的局部内容或使用JavaScript动态更新页面。以下是对SPA…