LeetCode_二叉树_BFS_中等_199.二叉树的右视图

news/2025/3/14 16:36:04/

目录

  • 1.题目
  • 2.思路
  • 3.代码实现(Java)

1.题目

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

示例 1:

在这里插入图片描述

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

示例 2:
输入: [1,null,3]
输出: [1,3]

示例 3:
输入: []
输出: []

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/binary-tree-right-side-view

2.思路

(1)BFS
本题可以参考102.二叉树的层序遍历这题中的层序遍历代码,具体来说,我们只需要对二叉树进行层序遍历,在遍历的过程中,用 res 保存每一层中最右边的节点值即可

相关题目:
LeetCode_二叉树_BFS_中等_102.二叉树的层序遍历

3.代码实现(Java)

//思路1————BFS
/*** 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> res = new ArrayList<>();if (root == null) {return res;}Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);while (!queue.isEmpty()) {int levelSize = queue.size();for (int i = 0; i < levelSize; i++) {TreeNode node = queue.poll();//保存每一层的最右边的节点值if (i == levelSize - 1) {res.add(node.val);}if (node.left != null) {queue.offer(node.left);}if (node.right != null) {queue.offer(node.right);}}}return res;}
}

http://www.ppmy.cn/news/274784.html

相关文章

面向对象学习笔记

常见代码块应用 局部代码块 在方法中出现&#xff0c;限定变量的生命周期构造代码块&#xff08;初始化块&#xff09; 在类中方法外出现&#xff0c;多个构造方法方法中相同的代码存放到一起&#xff0c;每次调用构造都执行&#xff0c;在调用构造方法前执行静态代码块 在类中…

面向对象——多态、抽象类、接口

学习资料来自&#xff1a;黑马程序员&#xff0c;内容仅为学习记录&#xff0c;侵删 多态 多态&#xff1a;事务存在的多种形态 多态的前提&#xff1a;1、有继承关系&#xff1b;2、重写父类方法&#xff1b;3、父类引用指向子类对象 面向对象 面向对象多态中成员访问特点…

李铁被传下课之际,梅西却要七拿金球奖了?这波预测没毛病

周一&#xff0c;闹钟照常响起&#xff0c;人们照常上班&#xff0c;码君也照常开始摸鱼&#xff0c;正好看到了几则足坛八卦&#xff0c;又想跟大家聊一聊足球了。 半个多月过去了&#xff0c;细数这段时间关于国足的讨论&#xff0c;“李铁下课”依旧是最受追捧的话题。 其…

我们为什么热爱梅西,梅西能够给我们什么?

聊足球故事&#xff0c;品百味人生。梅西是现代足球史上最伟大的球员之一&#xff0c;他的成就和天赋俘获了数百万球迷的心。那么&#xff0c;我们为什么热爱梅西呢&#xff1f;大叔和大家聊聊这个话题。 首先&#xff0c;梅西毫无疑问是一位天赋异禀的球员。他拥有敏锐的意识…

SringBoot 下的 Static 文件夹如何打包成前端资源

以下是在 Windows10 系统下使用 IntelliJ IDEA 编写的 Spring Boot 项目中&#xff0c;将 src/main/resources/static 目录下的静态文件打包成前端资源的示例代码&#xff1a; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfi…

【正一专栏】梅西!梅西!梅西!

梅西&#xff01;梅西&#xff01;梅西&#xff01; 2017-10-11 九天 九天时空 从来都没有想过没有阿根廷和梅西参加的世界杯会是什么样子&#xff0c;但是阿根廷到预选赛最后一轮还不能出线还确实让人有些揪心。在需要梅西像马拉多纳一样站出来的时候&#xff0c;梅西在基…

javascript大作业《web课程设计》用html做一个期末作业网站,梅西足球体育网页,css

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

卡塔尔世界杯终局之战,阿根廷VS法国,是老将加冕还是新王登基?

【世界杯】阿根廷VS法国 不知不觉&#xff0c;世界杯已经走到最后的尾声&#xff0c;此前经历的28天&#xff0c;63场比赛皆是铺垫&#xff0c;卢赛尔体育场将会迎来2022卡塔尔世界杯最终的决赛&#xff0c;究竟是梅西球王加冕还是法国卫冕世界杯冠军&#xff0c;今晚23&#x…