二叉树的右视图C++
给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
层次遍历,每次找每层的最后一个节点
class Solution {
public:vector<int> rightSideView(TreeNode* root) {queue<TreeNode*> que;if(root == nullptr) return {};vector<int> res;que.push(root);while(!que.empty()){int size = que.size();TreeNode* tmp = new TreeNode();for(int i=0; i<size; i++){tmp = que.front();que.pop();if(tmp->left) que.push(tmp->left);if(tmp->right) que.push(tmp->right);if(i==size-1){res.push_back(tmp->val);}}}return res;}
};