当前位置:网站首页>[LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II
[LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II
2022-08-02 15:41:00 【Spring-_-Bear】
从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。
例如:
给定二叉树: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其层次遍历结果:
[
[3],
[9,20],
[15,7]
]
提示:
节点总数 <= 1000
题解:
/** * 剑指 Offer 32 - II. 从上到下打印二叉树 II * 树的广度优先遍历 */
public List<List<Integer>> levelOrder(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<>();
List<List<Integer>> res = new ArrayList<>();
if (root != null) {
queue.add(root);
}
// 当队列不为空时遍历队列
while (!queue.isEmpty()) {
// 临时集合,存储当前层的遍历结果
List<Integer> tmp = new ArrayList<>();
// 遍历当前层的所有节点
for (int i = queue.size(); i > 0; i--) {
// 队列中的队首节点出队并加入 tmp 中
TreeNode node = queue.poll();
tmp.add(node.val);
// 将其左、右孩子加入到队列尾
if (node.left != null) {
queue.add(node.left);
}
if (node.right != null) {
queue.add(node.right);
}
}
res.add(tmp);
}
return res;
}
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof
边栏推荐
猜你喜欢
随机推荐
.NET性能优化-使用SourceGenerator-Logger记录日志
机械臂速成小指南(十八):圆弧规划
不平衡之钥: 重采样法何其多
MySQL-2-设置权限-创建表
动态权重之多任务不平衡论文 (一)
机械臂速成小指南(十五):线性规划
JZ70 矩形覆盖
第十七天笔记
Alibaba "MySQL Growth Manual" Lite Edition
【服务器数据恢复】Raid阵列更换故障硬盘后数据同步失败的数据恢复案例
我今天终于发现demo才是一切
ICML/ICLR'22 推荐系统论文梳理
【2022河南萌新联赛第(三)场:河南大学】【部分思路题解+代码解析】
AI+BI+可视化,Sugar BI架构深度剖析
基于深度学习的机器人目标识别和跟踪
软件测试面试中90%会遇到的问题:“你会搭建测试环境吗?”
【学术相关】北大一研究生偷取同门师妹论文发表,作者却挂名给了武大 3 位不知情的学生......
跨境电商看不到另一面:商家刷单、平台封号、黑灰产牟利
A tour of gRPC:06 - gRPC client straming 客户端流
dogs vs cats 二分类问题vgg16迁移学习









