不分行从上到下打印二叉树

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;}; 

不分行从上到下打印二叉树 

长按关注我吧  

以上是关于不分行从上到下打印二叉树的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer-从上到下打印二叉树

剑指offer-面试题32-分行从上到下打印二叉树-二叉树遍历

剑指Offer对答如流系列 - 从上往下打印二叉树

剑指32-3 从上到下打印二叉树

《剑指Offer——三种顺序打印二叉树》代码

剑指offer 面试32题