class Solution { public: vector rightSideView(TreeNode* root) { queue que; vector rlt; if(root->left == nullptr && root->right == nullptr){ return rlt; } que.push(root); while(!que.empty()){ queue< TreeNode *> tmp_que; TreeNode * node; while(!que.empty()){ node = que.front(); tmp_que.push(node); que.pop(); } rlt.push_back(node->val); while(!tmp_que.empty()){ node = tmp_que.front(); if(node->left != nullptr){ que.push(node->left); } if(node->right != nullptr){ que.push(node->right); } tmp_que.pop(); } } return rlt; } };