(刷题笔记) Leetcode 199. 二叉树的右视图

Java实现 LeetCode 199 二叉树的右视图 199. 二叉树的右视图 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <--- / \ 2 3 <--- \ \ 5 4 <--- PS: ... 阅读详情

题目

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

示例:

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

    1            <---
  /   \
 2     3         <---
  \     \
   5     4       <---

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

解题思路

比较普通的层序遍历,只需要将先右边入队,然后每次出队整层,每次取每一层的第一个,也就是队头。

代码(C++)

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    vector<int> rightSideView(TreeNode* root) {

        if(root==NULL) return {};
        queue<TreeNode*> q;
        q.push(root);
        vector<int> res;

        while(!q.empty()){

            int qsz=q.size();
            res.push_back(q.front()->val);
            for(int i=0;i<qsz;++i){
                TreeNode* tmp=q.front();
                q.pop();
                if(tmp->right) q.push(tmp->right);
                if(tmp->left) q.push(tmp->left);

            }
        }

        return res;

    }
};
LeetCode 199 二叉树的右视图 在解决 LeetCode 199 二叉树的右视图(Binary Tree Right Side View)问题时,我们需要找到从二叉树右侧看见的节点值(即每一层中最靠右的节点值)。以下是多种解法、对应模板及变体问题的讨论。 阅读详情

相关推荐

Android应用之【巧妙隐藏桌面图标的进阶方案】

本文详细探讨了Android应用中隐藏桌面图标的进阶方案,解决了传统方法在Android 10及以上版本中出现的黑色图标残留问题。通过Intent-Filter配置和厂商适配技巧,实现子应用真正隐身,同时确保主应用正常启动。适用于企业工具套件、模块化系统等场景,提升用户体验和安全性。

weixin_28363123的博客 508

Leetcode 199.二叉树的右视图

Time: 20190903 Type: Medium 题目描述 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <--- / \ 2 3 <--- \ \ 5 4...

Bing's Blog 595

新手必看:如何用R/qtl快速完成QTL定位分析(附实战代码)

本文为新手提供了使用R/qtl进行QTL定位分析的完整实战指南。内容涵盖从环境搭建、数据准备与清洗,到核心分析流程(包括遗传图谱计算、单QTL扫描、置换检验确定阈值)以及进阶结果可视化的全步骤。通过清晰的代码示例,帮助读者快速掌握这一数量遗传学关键分析技术,实现从数据到QTL峰值的完整分析闭环。

y7z8a的博客 501

[LeetCode]199. 二叉树的右视图

题目 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <--- / \ 2 3 <--- \ \ 5 4 <--- 解题思路 解法一:广度优先...

zaker123的博客 551

手把手教你实现阿克曼ROS小车的运动控制

本文详细介绍了如何从零开始实现阿克曼ROS小车的运动控制。内容涵盖硬件搭建、STM32底层PID速度与舵机控制、ROS层阿克曼运动学模型解析,以及上下位机通信协议设计。通过手把手的代码示例和调试步骤,帮助机器人爱好者与开发者掌握将高级速度指令转化为小车具体动作的全流程,实现流畅的阿克曼转向控制。

weixin_29193259的博客 199

VSCode+Keil高效开发STM32:Keil Assistant插件配置全攻略

本文详细介绍了如何通过VSCode的Keil Assistant插件,将Keil MDK的编译调试能力与VSCode的现代编辑体验相结合,打造高效的STM32开发环境。文章涵盖了从环境配置、工程导入、智能提示设置到与STM32CubeMX协同工作的全流程攻略,旨在解决Keil编辑器效率低下的痛点,大幅提升嵌入式开发的编码与项目管理效率。

gold的博客 507

力扣199-二叉树的右视图-C++

一、运行结果 二、题目 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入:[1,2,3,null,5,null,4] 输出:[1,3,4] 示例 2: 输入:[1,null,3] 输出:[1,3] 示例 3: 输入:[] 输出:[] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-right-side-view 三、...

TLJava^v^的博客 817

机器学习kaggle案例:风控评分卡模型(Give_Me_Some_Credit)

kaggle链接:https://www.kaggle.com/c/GiveMeSomeCredit ipynb文件:https://github.com/824024445/KaggleCases/blob/master/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0kaggle%E6%A1%88%E4%BE%8B%EF%BC%9A%E9%A3%8E%E6%8E%A7%...

weixin_42662126的博客 1万+

【LeetCode】199. 二叉树的右视图

一、题目描述 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <--- / \ 2 3 <--- \ \ 5 4 <--- 二、解题思路 & 代码 2.1 DFS 初步想法 由于树的形状无法提前知晓,不可能设计出优于 O(n) 的算法。因此,我们

weixin_41888257的博客 975

MATLAB并行开不了的解决办法

在服务器上新安装了MATLAB 2013b,在开并行计算的时候出现了下列问题 经过在网上搜多这个问题,我感觉这个问题应该是安装的时候的验证问题或者激活不成功之类的。注意其中有一句validate the profile ‘local’ in the Cluster Profile Manager.在matlab官网上找到了设置Cluster Manager的教程,如下 parallel>

sinat_36713319的博客 5987

128、点云配准与ICP:经典配准算法与深度学习配准

上周调试一台双臂协作机器人,左手持结构光相机扫描桌面上的随机堆叠工件,右手准备执行抓取。问题出在“对齐”这一步——相机扫描得到的点云和CAD模型点云之间差了大约15度的旋转,导致抓取姿态计算出来直接怼到桌面上。我第一反应是“ICP跑一下不就行了”,结果跑了三分钟,误差纹丝不动,甚至越迭代越发散。后来查了日志才发现,初始位姿给得太离谱,ICP直接掉进了局部最优。这个场景太典型了——很多人以为点云配准就是调个ICP库函数,实际工程里坑比想象中多得多。今天这篇笔记,咱们把点云配准这件事从头捋一遍。

sundong_81的博客 42

Leetcode力扣第199题——二叉树的右视图

题目描述 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <--- / \ 2 3 <--- \ \ 5 4 <--- BFS(广度优先搜索)...

a624193873的博客 798

如何用matlab扫频法测考虑频率耦合的并网逆变器的序阻抗,如何实现?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1193

Leetcode刷题笔记之199. 二叉树的右视图

原题 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-right-side-view 解法 二叉树题目,个人感觉要么 dfs ,要么 bfs。 dfs 就是前序遍历,后序遍历,中序遍历,bfs 就是层次遍历。 DF...

incipe 266

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

leetcode 199. 二叉树的右视图 刷题笔记

想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。类似于二叉树的层序遍历,只记录。

2403_87394191的博客 225

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LeetCode刷题-199. 二叉树的右视图

难度:中等⭐️⭐️⭐️⭐️。

快乐的小小程序猿 184

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LeetCode Java刷题笔记—199. 二叉树的右视图

LeetCode Java刷题笔记—199. 二叉树的右视图

终生学习践行者 484

[失业前端恶补算法]JavaScript leetcode刷题笔记 199. 二叉树的右视图

199. 二叉树的右视图

weixin_46463785的博客 238

LeetCode刷题笔记-数据结构-day16

LeetCode刷题笔记-数据结构-day16199. 二叉树的右视图。

2401_87194296的博客 1046

LeetCode第199题_二叉树的右视图

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

qq_40263592的博客 1560

力扣第199题“二叉树的右视图”

本文详细解读了力扣第199题“二叉树的右视图”,通过使用广度优先搜索(BFS)和深度优先搜索(DFS)高效地解决了这一问题,并提供了详细的解释和模拟面试问答。希望读者通过本文的学习,能够在力扣刷题的过程中更加得心应手。

10年数据\经营分析经验,现任大厂数据分析负责人 1170

【LeetCode 热题 100】199. 二叉树的右视图——(解法一)BFS

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

最短的捷径就是绕远路,绕远路才是我的最短捷径。 1800

leetcode刷题记录(七十七)——199. 二叉树的右视图

因此解决的思路就是层序遍历,把每一层最后一个节点的值记录下来就可以了。

weixin_45994787的博客 1033

力扣hot100:199. 二叉树的右视图/437. 路径总和 III(dfs/回溯/树上前缀和/哈希表)

前缀和的方法如果之前接触过应该很容易想到,不过这里需要学习深度优先遍历的方法,更深入理解dfs。我们真的是需要哈希表找到需要的值吗?在这里我们只需要之前有多少个这样的值就行了!这个问题使用dfs可以解决,不过实现起来比较复杂,时间复杂度是。右视图实际上只需要找到,每一层的最右边的那个结点即可。之后很容易想到使用哈希表直接查找使用存在所需要的值。发现使用树上前缀和很容易解决,最坏时间复杂度也是。差点因为是个中等题打退堂鼓。,所以我们先考虑使用前缀和。我们先考虑其他方法。

m0_63997099的博客 1675

LeetCode HOT100刷题笔记(七):二叉树

ps:笔记和代码按本人理解整理,重思路

学习记录 987

LeetCode - 199. 二叉树的右视图

DFS访问顺序(先右后左)是:1 -> 3 -> 6 -> 2 -> 5 -> 4。右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。最终result=[1,3,6],正好是树的右视图。如果当前节为空,直接返回检查当前深度是否等于结果数组的长度如果是,说明这是当前深度第一个被访问的节点,将其值加入结果数组如果不是,说明该深度已经有节点被加入结果,不做操作先递归访问右子树(深度+1),再递归访问左子树(深度+1)

2402_83315537的博客 1201
上一篇: (刷题笔记) Leetcode 面试题 17.13. 恢复空格
下一篇: (刷题笔记) Leetcode 515. 在每个树行中找最大值
Lucky&Happy
博客等级 码龄10年 1粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值