【剑指offer】22 从上往下打印二叉树

题目地址:从上往下打印二叉树

 

题目描述                                   

从上往下打印出二叉树的每个节点,同层节点从左至右打印。
   

题目示例                                   

输入:
{5,4,#,3,#,2,#,1}
返回值:
[5,4,3,2,1]

 

解法分析                                   

本题考查二叉树的广度遍历,可以借助队列先进先出的特点来保存结点。

 

代码                                         

 1 function PrintFromTopToBottom(root)
 2 {
 3     // write code here
 4     var arr = [];
 5     if(!root) return arr;
 6     var tree = [];
 7     tree.push(root);
 8     while(tree.length){
 9         var rt = tree[0];
10         if(rt.left) tree.push(rt.left);
11         if(rt.right) tree.push(rt.right);
12         arr.push(tree.shift().val);
13     }
14     return arr;
15 }

 

执行结果                                   

 

posted @ 2021-02-07 15:00  月南君  阅读(51)  评论(0编辑  收藏  举报