102. 二叉树的层序遍历

原题链接:102. 二叉树的层序遍历

以下代码为模板,需要层序遍历时都可以使用该模板进行代码更改

全代码:

cpp 复制代码
class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        //创建一个TreeNode* 队列用于存储树中的每层结点元素
        queue<TreeNode*> que;
        //如果树不为空,则将树以及树的全部结点push进que中
        if(root != NULL) que.push(root);
        //创建二维容器用于存放层序遍历的值
        vector<vector<int>> result;
        while(!que.empty())
        {
            //记录下当前层中有多少个结点元素
            int size = que.size();
            //创建容器用于存放当前层所有结点的值
            vector<int> vec;
            for(int i = 0; i < size;i++)
            {//用于遍历队列内存储的结点元素

                //存储队列头元素
                TreeNode* node = que.front();
                //将头元素弹出
                que.pop();
                //将头元素的值push到vec内
                vec.push_back(node ->val);
                //将子树的左右结点push进队列内,以下次备用
                if(node ->left) que.push(node ->left);
                if(node ->right) que.push(node ->right);
            }
            result.push_back(vec);
        }
        return result;
    }
};
相关推荐
她说可以呀1 分钟前
Spring-ai-Rag-多文件格式生成 List<Document>
数据结构·list
郝学胜_神的一滴1 小时前
干货版《算法导论》17:双数极值配对与卡牌手牌编码最优解
数据结构·算法
我不会插花弄玉2 小时前
10.list【由浅入深-C++】
数据结构·c++·list
星轨初途3 小时前
LeetCode 热题 100——day6 三数之和
数据结构·c++·算法·leetcode·职场和发展
wabs66612 小时前
关于图论【卡码网117.软件构建的思考】
数据结构·算法·软件构建·图论·卡码网
Tongzhi202613 小时前
从部署到运维:通芝科技无感考勤一体机的全流程效率解析
运维·数据结构·科技·算法·贪心算法
小玮看世界18 小时前
[Python]线段树与二分法
数据结构·算法
青山木1 天前
Hot 100 --- 在排序数组中查找元素的第一个和最后一个位置
java·数据结构·算法·leetcode
依然鸣1 天前
PTA团体程序设计天梯赛L2真题讲解L2-045-048
数据结构·c++·经验分享·学习·算法·pat考试·pat
CQU_JIAKE1 天前
8.5【A】
数据结构·算法