不分行从上到下打印二叉树
Posted 前端你好
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不分行从上到下打印二叉树相关的知识,希望对你有一定的参考价值。
题目:从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
例子:
输出顺序为:6、4、8、3、5、7、9
分析:创建一个队列用来当容器。
(1)root元素放在queue中,取出queue中的root,添加到数组中。
(2)root的左节点有值,就将其压入队列,root的右节点有值同样压入队列
(3)按照顺序,root左节点先出队列,将其添加到数组中,并且将root左节点的左右子节点压入队列。依次类推。最终数组的顺序就是从上到下打印二叉树的顺序。
解:
var levelOrder = function(root) {
if(!root){
return [];
}
const queue = [root];
const data = [];
while(queue.length){
let temp = queue.shift();
data.push(temp.val);
temp.left && queue.push(temp.left);
temp.right && queue.push(temp.right);
}
return data;
};
长按关注我吧
以上是关于不分行从上到下打印二叉树的主要内容,如果未能解决你的问题,请参考以下文章