199. 二叉树的右视图

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;
    }
};

你可能感兴趣的:(每日一题,算法,leetcode)