2
* Definition for a binary tree node.7
* TreeNode() : val(0), left(nullptr), right(nullptr) {}8
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}9
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left),15
void solve(TreeNode *root, vector<int> &ans, int level) {21
// we entered a new level22
if (level == ans.size()) {23
ans.push_back(root->val);26
solve(root->right, ans, level + 1);27
solve(root->left, ans, level + 1);29
vector<int> rightSideView(TreeNode *root) {33
solve(root, ans, level);