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

【力扣】199.二叉树的右视图

AC截图

题目

思路

这道题是层序遍历的变种,还是维护一个cnt变量用于记录一层的容量,在cnt==1时,是该层最右边的结点,将其值加入结果vector中即可。

代码

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

        deque<TreeNode*> dq;
        dq.push_back(root);
        while(!dq.empty()){
            int cnt = dq.size();

            while(cnt>0){
                TreeNode* node = dq.front();
                dq.pop_front();
                if(node->left!=NULL){
                    dq.push_back(node->left);
                }
                if(node->right!=NULL){
                    dq.push_back(node->right);
                }
                if(cnt==1){
                    res.push_back(node->val);
                }
                cnt--;
            }
        }

        return res;
    }
};

相关文章:

  • Pygame中自定义事件处理的方法2-1
  • DeepSeek-V3模型底层架构的核心技术一(多Token预测(MTP)技术)
  • Python 内置函数 isinstance
  • 【爬虫】使用 Scrapy 框架爬取豆瓣电影 Top 250 数据的完整教程
  • java八股文-mysql
  • SQL与数据库程序设计
  • 用队列实现栈
  • 人工智能之目标追踪DeepSort源码解读(yolov5目标检测,代价矩阵,余弦相似度,马氏距离,匹配与预测更新)
  • 牛顿法:用泰勒级数求解平方根的秘籍
  • 004 python变量
  • OpenVAS 工具使用全攻略
  • java练习(24)
  • 《解锁自然语言处理:让公众正确拥抱AI语言魔法》
  • LabVIEW中的icon.llb 库
  • 【华为OD机考】2024E+D卷真题【完全原创题解 详细考点分类 不断更新题目 六种主流语言Py+Java+Cpp+C+Js+Go】
  • Transformer(3): Add Norm
  • React VS Vue
  • 【R语言】方差分析
  • 什么是大模型以及如何部署大模型
  • 基于大数据的网购球鞋分析系统的设计与实现
  • 美国与胡塞武装达成停火协议,美伊相向而行?
  • 安徽六安原市长潘东旭,已任省市场监督管理局党组书记、局长
  • 4月外汇储备增加410亿美元,黄金储备连续6个月增加
  • 观察|22项达全球最优,世行为上海营商环境“盖章”
  • 央行:5月15日起下调金融机构存款准备金率0.5个百分点
  • 线下无理由退货怎样操作?线上线下监管有何不同?市场监管总局回应