当前位置:网站首页>力扣刷题——二叉树的层序遍历
力扣刷题——二叉树的层序遍历
2022-06-11 18:14:00 【HHYX.】
题目链接:二叉树的层序遍历
题目描述
给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。
题目分析
二叉树的层序遍历对于C++而言还是比较好处理的,用一个队列容器存放每层的各个节点,然后不断出各个节点并入他们的子节点即可。这题的难度主要在于除了层序遍历以外,需要用一个二维数组来存放每层中的节点的值。这就意味着需要标识二叉树每层中节点的个数。这里可以使用一个整型变量来存放每层节点的个数,以此作为每层循环结束的标识,具体代码如下:
代码实现
vector<vector<int>> levelOrder(TreeNode* root)
{
vector<vector<int>> ret;
queue<TreeNode*> q;//存放每层的各个节点指针
if (root)
{
q.push(root);
}
int levelsize = q.size();
while (!q.empty())
{
vector<int> tmp;
while (levelsize)
{
TreeNode* cur = q.front();
q.pop();
tmp.push_back(cur->val);
if (cur->left)
{
q.push(cur->left);
}
if (cur->right)
{
q.push(cur->right);
}
levelsize--;
}
ret.push_back(tmp);
levelsize = q.size();//每一层元素个数
}
return ret;
}

边栏推荐
- 软件测试技术复习
- 排序的循环链表
- 谈谈远程工作 | 社区征文
- * Jetpack 笔记 LifeCycle ViewModel 与LiveData的了解
- 使用Transformers将TF模型转化成PyTorch模型
- async导致函数结果出乎意料,改变原来代码的意图;await is only valid in async functions and the top level bodies of modules
- Mysql8 installation, Navicat installation, sqli labs setup
- 判断是否为平衡二叉树
- 【无标题】
- Surveillance des fonctions de perte avec visdom
猜你喜欢
![[C语言]限制查找次数,输出次数内查找到的最大值](/img/e6/cbb8dd54b49ade453251a70c8455e8.png)
[C语言]限制查找次数,输出次数内查找到的最大值
![[C语言]用结构体按分数高低降序输出学生的姓名和分数](/img/41/b9dba88941560b296f4d7153b7c684.png)
[C语言]用结构体按分数高低降序输出学生的姓名和分数

async导致函数结果出乎意料,改变原来代码的意图;await is only valid in async functions and the top level bodies of modules

牛客刷题——求最小公倍数
![[Golang]力扣Leetcode - 349. 两个数组的交集(哈希表)](/img/92/03de54c9f08eae5bc920b04d2b8493.png)
[Golang]力扣Leetcode - 349. 两个数组的交集(哈希表)

Getting started with CTF

* Jetpack 笔记 LifeCycle ViewModel 与LiveData的了解

SISO decoder for a general (n,n-1) SPC code(补充章节3)

软件需求工程复习

TR-069 protocol introduction
随机推荐
剑指 Offer(第 2 版)
排序的循环链表
SQL报错注入1
平衡搜索二叉树——AVL树
v-for循环遍历
Some thoughts on how to do a good job of operation and maintenance management
LDPC 7 - 解码简单例子
Secret comment-----
谈谈远程工作 | 社区征文
[C语言]对一个数组的元素排序后平移元素
Codeworks round 481 (Div. 3) [done]
力扣32题最长有效括号
labelme进行图片数据标注
判断是否为平衡二叉树
软件需求工程复习
H.264概念
合并多棵二叉搜索树
Async leads to unexpected function results and changes the intention of the original code; await is only valid in async functions and the top level bodies of modules
Some problems of DC-DC bootstrap capacitor
5 minutes to understand the red, blue and purple in the attack and defense drill