之子形打印二叉树

class Solution {
public:
    vector<vector<int>> res;
    void bfs(TreeNode* root)
    {
        queue<TreeNode*> q;
        q.push(root);
        int level=0;
        while(q.size ())
        {
            int size=q.size();
            vector<int> tmp;
            while(size--)
            {
                auto p=q.front();
                q.pop();
                tmp.push_back(p->val);
                if(p->left) q.push(p->left);
                if(p->right) q.push(p->right);
            }
            if(level&1) reverse(tmp.begin(),tmp.end());
            level++;
            res.push_back(tmp);
        }
    }
    vector<vector<int>> printFromTopToBottom(TreeNode* root) {
        if(!root)   return res;
        bfs(root);
        return res;
    }
};
posted @ 2023-03-31 09:21  穿过雾的阴霾  阅读(17)  评论(0)    收藏  举报