当前位置:网站首页>[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
边栏推荐
猜你喜欢
随机推荐
Why do I no longer recommend the enumeration strategy pattern?
性能测试详解(理论篇)
机械臂速成小指南(十四):多项式插值轨迹规划
微信小程序:Framework inner error FLOW_CREATE_NODE
面试官的角度谈谈算法岗面试的过程(岗位涉及到OCR、目标检测、图像分割、语音识别等领域)
技术分享| 融合调度系统中的电子围栏功能说明
JZ81 调整数组顺序使奇数位于偶数前面(二)-相对位置变化
2.5 - 死锁
Advanced usage of vim configuration
机械臂速成小指南(十六):带抛物线过渡的线性规划
最强分布式锁工具:Redisson
JZ69 跳台阶
博世「求援」,毫米波雷达重构
【[SCOI2005] 互不侵犯】【状压DP(含概念讲解)】
禅道16.5升级17.3
MongoDB 《三》复制集集群搭建实例
【服务器数据恢复】Raid阵列更换故障硬盘后数据同步失败的数据恢复案例
Apache management and web optimization
ACL/NAACL'22 推荐系统论文梳理
代码随想录笔记_哈希_61扑克牌中的顺子









