LeetCode-103-二叉树的锯齿形层序遍历-创新互联

在这里插入图片描述

创新互联主营海湖新网站建设的网络公司,主营网站建设方案,App定制开发,海湖新h5重庆小程序开发搭建,海湖新网站营销推广欢迎海湖新等地区企业咨询1、BFS

我们可以利用队列来层序遍历整棵二叉树。为了实现利用队列遍历二叉树,我们在每次循环的开始是统计当前队列中的个数而后进行循环。在每次的循环当中,我们将当前节点的左右子节点加入队列中并在下一次循环中进行遍历。其中,为了实现锯齿形的层序遍历,我们需要判断当前深度是否为2的倍数,若为2的倍数则说明当前层的遍历需要进行逆序操作,我们将逆序操作后的数组加入最终结果当中。

class Solution {public:
    vector>result;
    queueq;

    vector>zigzagLevelOrder(TreeNode *root) {int depth = 1;
        if (!root) return {};
        q.push(root);
        while (!q.empty()) {int currentLevelSize = q.size();
            vectortemp_res;
            for (int i = 0; i< currentLevelSize; ++i) {TreeNode *cur = q.front();
                q.pop();
                temp_res.emplace_back(cur->val);
                if (cur->left) q.push(cur->left);
                if (cur->right) q.push(cur->right);
            }
            if (depth % 2 == 0) reverse(temp_res.begin(), temp_res.end());
            ++depth;
            result.emplace_back(temp_res);
        }
        return result;
    }
};

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

文章标题:LeetCode-103-二叉树的锯齿形层序遍历-创新互联
文章链接:https://www.cdcxhl.com/article8/pppop.html

成都网站建设公司_创新互联,为您提供电子商务面包屑导航搜索引擎优化建站公司营销型网站建设外贸建站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化