题目描述
给定一个二叉树的 根节点 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;}
};