当前位置: 首页 > backend >正文

力扣 hot100 Day46

199. 二叉树的右视图

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

//自己写的
class Solution {
public:vector<int> rightSideView(TreeNode* root) {vector<int> result;if (!root) return result;queue<TreeNode*> q;q.push(root);while (!q.empty()) {int levelSize = q.size();     for (int i = 0; i < levelSize; ++i) {TreeNode* node = q.front();q.pop();if(i==levelSize-1){result.push_back(node->val);}            if (node->left) q.push(node->left);if (node->right) q.push(node->right);}        }    return result;}
};

其实就是返回层序遍历中每行的最后一个值,在其基础上小改即可

重温一遍层序遍历逻辑吧 

利用队列存放每层节点,遍历到每个节点时,弹出该节点,同时队尾加入该节点的左右节点

levelSize的设定比较巧妙,从最开始root节点逐渐推演,对应每层节点个数

http://www.xdnf.cn/news/15576.html

相关文章:

  • LVS集群实践
  • 前后端分离项目中的接口设计与调用流程——以高仙机器人集成为例
  • 数字ic后端设计从入门到精通11(含fusion compiler, tcl教学)全定制设计入门
  • 基于深度学习的情感分析模型:从文本数据到模型部署
  • c语言-数据结构-二叉树的遍历
  • [特殊字符] 第1篇:什么是SQL?数据库是啥?我能吃吗?
  • [特殊字符] Electron 中的 `global` 变量
  • 用Amazon Q Developer助力Python快捷软件开发
  • 创建SprngBoot项目的四种方式
  • 网络编程(数据库)
  • oracle服务器定时备份Windows Server
  • 服务攻防-Java组件安全数据处理FastJsonJackSonXStream自动BP插件CVE漏洞
  • vue中后端返回数据流,前端实现导出下载
  • Flutter基础(前端教程①①-底部导航栏)
  • 【动归解题套路框架】【带备忘录的递归】【最优子结构】【自下而上DP table】
  • FunASR Paraformer-zh:高效中文端到端语音识别方案全解
  • Linux运维新手的修炼手扎之第19天
  • 【从零开始学习大模型】什么是MCP协议
  • PostGres超过最大连接数报错
  • 多级缓存架构与热点探测系统核心技术解析
  • AI时代基础入门
  • 测试学习之——Pytest Day2
  • 深入理解 Kafka 核心:主题、分区与副本的协同机制
  • Scalefusion 与 EasyControl 对比:轻量级方案与全功能 IoT MDM 的深度碰撞
  • spring容器的bean是单例还是多例的?线程安全吗?
  • AI编程神器 Claude Code 安装及使用体验
  • SQLSERVER清理日志
  • 【28】MFC入门到精通——MFC串口 Combobox 控件实现串口号
  • Python面向对象编程(OOP)详解:通俗易懂的全面指南
  • HTTP vs HTTPS