[LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II相关的知识,希望对你有一定的参考价值。
从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。
例如:
给定二叉树: [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
以上是关于[LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 剑指Offer 15[位运算] 二进制中1的个数 HERODING的LeetCode之路
LeetCode1482. 制作 m 束花所需的最少天数 / 剑指 Offer 32 . 从上到下打印二叉树I/II/III