当前位置:   article > 正文

[力扣 Hot100]Day45 二叉树的右视图

[力扣 Hot100]Day45 二叉树的右视图

题目描述

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

出处

思路

层序遍历,选择每层的最后一个。

代码

class Solution {
public:
    vector<int> rightSideView(TreeNode* root) {
        vector<int> result;
        vector<TreeNode*> queue;
        if(!root) return result;
        queue.push_back(root);
        queue.push_back(nullptr);
        int i=0;
        while(i<queue.size()-1) {
            if(!queue[i])
                queue.push_back(nullptr);
            else{
                if(queue[i]->left) queue.push_back(queue[i]->left);
                if(queue[i]->right) queue.push_back(queue[i]->right);
            }
            i++;
        }
        i=0;
        while(i<queue.size()-1) {
            if(!queue[i+1])
                result.push_back(queue[i]->val);
            i++;
        }
        return result;
    }
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号