【leetcode】-121-二叉树的右视图

本题只要记录层次遍历每一层的最右侧结点即可

 vector<int> rightSideView(TreeNode* root) {
        vector<int> res;
        if(root==nullptr)return res;      
        TreeNode *p=root;
        queue<TreeNode*> que;
        que.push(p);
        while(!que.empty()){
            int n=que.size();
            for(int i=0;i<n;i++)//分层处理
            {
                p=que.front();
                que.pop();
                if(i==n-1)res.push_back(p->val);//记录每一层的最后一个
                if(p->left)que.push(p->left);
                if(p->right)que.push(p->right);
            }
            
        }
        return res;
    }

猜你喜欢

转载自blog.csdn.net/qq_39328436/article/details/113713442