199. 二叉树的右视图
笔记
此题为非常简单的bfs 只需要遍历一下每层的节点 并记录一下每层的最后一个节点的值即可
class Solution {
public:
vector<int> rightSideView(TreeNode* root) {
queue<TreeNode *> st;
vector<int> res;
if(root == NULL) return res;
st.push(root);
while(st.size())
{
int n = st.size();
for(int i=0;i< n;i++)
{
auto p =st.front();
st.pop();
if (p->left)
{
st.push(p->left);
}
if(p->right)
{
st.push(p->right);
}
if(i == n-1 ) res.push_back(p->val);
}
}
return res;
}
};