# 二叉树的右视图
给定一个二叉树的 根节点 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
## template
```cpp
#include 
using namespace std;
struct TreeNode
{
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
class Solution
{
public:
    vector rightSideView(TreeNode *root)
    {
        vector ret;
        queue queues[2];
        if (root != NULL)
            queues[0].push(root);
        int i = 0, j = 1, tmp;
        TreeNode *p;
        while (!queues[0].empty() || !queues[1].empty())
        {
            while (!queues[i].empty())
            {
                p = queues[i].front();
                queues[i].pop();
                if (p->left)
                    queues[j].push(p->left);
                if (p->right)
                    queues[j].push(p->right);
                tmp = p->val;
            }
            ret.push_back(tmp);
            i = (i + 1) % 2;
            j = (j + 1) % 2;
        }
        return ret;
    }
};
```
## 答案
```cpp
```
## 选项
### A
```cpp
```
### B
```cpp
```
### C
```cpp
```