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

C++ | Leetcode C++题解之第199题二叉树的右视图

题目:

题解:

class Solution {
public:vector<int> rightSideView(TreeNode* root) {unordered_map<int, int> rightmostValueAtDepth;int max_depth = -1;stack<TreeNode*> nodeStack;stack<int> depthStack;nodeStack.push(root);depthStack.push(0);while (!nodeStack.empty()) {TreeNode* node = nodeStack.top();nodeStack.pop();int depth = depthStack.top();depthStack.pop();if (node != NULL) {// 维护二叉树的最大深度max_depth = max(max_depth, depth);// 如果不存在对应深度的节点我们才插入if (rightmostValueAtDepth.find(depth) == rightmostValueAtDepth.end()) {rightmostValueAtDepth[depth] =  node -> val;}nodeStack.push(node -> left);nodeStack.push(node -> right);depthStack.push(depth + 1);depthStack.push(depth + 1);}}vector<int> rightView;for (int depth = 0; depth <= max_depth; ++depth) {rightView.push_back(rightmostValueAtDepth[depth]);}return rightView;}
};
http://www.lryc.cn/news/384378.html

相关文章:

  • [leetcode]圆圈中最后剩下的数字/ 破冰游戏
  • mysql数据库的管理
  • Java项目分层(持续更新中)
  • 2024年软件测试面试题大全【答案+文档】
  • 数据赋能(131)——体系:数据转换——概述、关注焦点
  • 【自然语言处理系列】掌握jieba分词器:从基础到实战,深入文本分析与词云图展示
  • TikTok短视频矩阵系统
  • 码题杯:我会修改图
  • MongoDB Map-Reduce 简介
  • 某平台小程序逆向思路整理
  • 黑马苍穹外卖6 清理redis缓存+Spring Cache+购物车的增删改查
  • 鸿蒙开发系统基础能力:【@ohos.systemTime (设置系统时间)】
  • CVE-2020-26048(文件上传+SQL注入)
  • 【面试题】信息系统安全运维要做什么
  • 引导过程与服务器控制
  • 前置章节-熟悉Python、Numpy、SciPy和matplotlib
  • 在Ubuntu上安装和配置配置服务器防火墙(CSF)的方法
  • Python-井字棋
  • 39.客户端与服务端断开事件handler
  • SSL 之 http只用crt格式证书完成SSL单向认证通信
  • 实训作业-人事资源管理系统
  • Flink 资源静态调度
  • upload-labs第十三关教程
  • 基于springboot实现宠物商城网站管理系统项目【项目源码+论文说明】计算机毕业设计
  • Fragment与ViewModel(MVVM架构)
  • Linux开发讲课16--- 【内存管理】页表映射基础知识2
  • uniapp地图点击获取位置
  • Unity程序开发:1.基本概念及操作
  • 前端新手小白的第一个AI全栈项目---AI聊天室
  • 金升阳电源被制裁,广州顶源电源模块可以完美替换