代码随想录二刷 |二叉树 | 二叉树的右视图

代码随想录二刷 |二叉树 | 二叉树的右视图

题目描述

199.二叉树的右视图

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

示例 1:

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

输出: [1,3,4]

示例 2:

输入: [1,null,3]

输出: [1,3]

示例 3:

输入: []

输出: []

提示:

  • 二叉树的节点个数的范围是 [0,100]
  • -100 <= Node.val <= 100

解题思路

层序遍历的时候,判断是否遍历到单层的最后面的元素,如果是,就放进result数组中,随后返回result。

代码实现

cpp 复制代码
class Solution {
public:
    vector<int> rightSideView(TreeNode* root) {
		vector<int> result;
        queue<TreeNode*> que;
        if (root != NULL) que.push(root);
        while (!que.empty()) {
            int size = que.size();
            for (int i = 0; i < size; i++) {
                TreeNode* node = que.front();
                que.pop();
                if (i == (size - 1)) result.push_back(node->val);
                if (node->left) que.push(node->left);
                if (node->right) que.push(node->right);
            }
        }
        return result;
    }
};
相关推荐
xiaolang_8616_wjl5 小时前
c++文字游戏_闯关打怪2.0(开源)
开发语言·c++·开源
夜月yeyue5 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
无小道6 小时前
c++-引用(包括完美转发,移动构造,万能引用)
c语言·开发语言·汇编·c++
FirstFrost --sy7 小时前
数据结构之二叉树
c语言·数据结构·c++·算法·链表·深度优先·广度优先
Tanecious.8 小时前
C++--map和set的使用
开发语言·c++
Yingye Zhu(HPXXZYY)8 小时前
Codeforces 2021 C Those Who Are With Us
数据结构·c++·算法
liulilittle9 小时前
LinkedList 链表数据结构实现 (OPENPPP2)
开发语言·数据结构·c++·链表
无聊的小坏坏9 小时前
三种方法详解最长回文子串问题
c++·算法·回文串
山河木马9 小时前
前端学习C++之:.h(.hpp)与.cpp文件
前端·javascript·c++
2401_891957319 小时前
list的一些特性(C++)
开发语言·c++