网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

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-二叉树的锯齿形层序遍历-创新互联
标题链接:http://bjjierui.cn/article/pppop.html

其他资讯