难度中等186
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
示例:
1 2 3 4 5 6 7 8 9
| 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释:
1 <--- / \ 2 3 <--- \ \ 5 4 <---
|
通过次数29,576
提交次数46,105
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
class Solution { public: vector<int> rightSideView(TreeNode* root) { vector<int>result; if(root==nullptr){return result;}; queue<TreeNode*>q; q.push(root); while(!q.empty()){ int len=q.size(); for(int i=0;i<len;i++){ TreeNode*temp=q.front(); if(i==len-1){ result.push_back(temp->val); } q.pop(); if(temp->left!=nullptr){ q.push(temp->left); } if(temp->right!=nullptr){ q.push(temp->right); }
} } return result;
} };
|