从上往下打印二叉树
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路
1.借助两个辅助队列,一个用来存放结点,一个用来存放结点值; 2.先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右子节点加入到队列中来。
代码
function PrintFromTopToBottom(root
)
{
var res
= [];
var duilie
= [];
duilie
.push(root
);
if(root
== null){
return res
;
}
while(duilie
.length
){
var node
= duilie
.shift();
res
.push(node
.val
);
if(node
.left
!= null){
duilie
.push(node
.left
);
}
if(node
.right
!= null){
duilie
.push(node
.right
);
}
}
return res
;
}