剑指 Offer 32 - II. 从上到下打印二叉树 II
题目描述:
从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。
示例:
给定二叉树: [3,9,20,null,null,15,7],
返回结果为:
思路:
从题目中可以看到,本题考察的是二叉树的层序遍历,并且在结果中要体现出“层次”。
稍微改变一下对队列的使用,就可以在遍历过程中体现出层次,大致过程如下:
- 初始化 queue,用于存储当前层的节点
- 检查 queue 是否为空
2.1:如果不为空:依次遍历当前 queue 内的所有节点,检查每个节点的左右子节点,将不为空的子节点放入 queue,继续循环 2.2:如果为空:跳出循环
代码:
1 | var levelOrder = function(root) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jungle!