剑指offer32-III.从上到下打印二叉树(之字型打印)

class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> ans;
        if (root == NULL) return ans;
        queue<TreeNode*> q;
        q.push(root);
        ans.push_back({root->val});
        int fl = 0;
        while(!q.empty()) {
            int n = q.size();
            vector<int> vec;
            for (int i = 0; i < n; i++) {
                auto p = q.front();
                if (p->left) {
                    vec.push_back(p->left->val);
                    q.push(p->left);
                }
                if (p->right) {
                    vec.push_back(p->right->val);
                    q.push(p->right);
                }
                q.pop();  
            }
            if (vec.size()) {
                if (fl % 2 == 0) reverse(vec.begin(), vec.end()); 
                ans.push_back(vec);
            }
            fl++;
        }
        return ans;
    }
};

全部评论

相关推荐

06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
码砖:求职岗位要突出,一眼就能看到,教育背景放到最后,学校经历没那么重要,项目要重点突出
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务