力扣 hot100 Day46

199. 二叉树的右视图

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

cpp 复制代码
//自己写的
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节点逐渐推演,对应每层节点个数

相关推荐
To_OC14 小时前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC14 小时前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
BadBadBad__AK16 小时前
线段树维护区间 k 次方和
c++·数学·算法·stl
_清歌1 天前
DSpark 深度解读:DeepSeek-V4 如何用「半自回归」把推理速度提升 85%
算法
统计实现局1 天前
SVD 的三步走:双对角化、Givens 收敛、排序
算法
躬行见万象1 天前
《VLA 系列》UniLab 强化训练 | G1 机器人 |复现
算法
统计实现局1 天前
对称不定分解(Bunch-Kaufman):为什么 Cholesky 不够用
算法
统计实现局1 天前
dqrsl 拆解:拿着 QR 结果能算出哪 5 种东西
算法
统计实现局1 天前
为什么 Cholesky 求逆比 Gauss-Jordan 快一倍——行列式溢出防护详
算法