题目描述:
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
解题代码:
/* function TreeNode(x) {
this.val = x;
this.left = null;
this.right = null;
} */
function PrintFromTopToBottom(root)
{
// write code here
//从上往下按层次打印二叉树,即树的广度遍历
//树的广度遍历一般用队列来实现
//利用队列先进先出的特点来保存之前的结点,并操作之前的结点
var result = [];
if(root == null){
return result;
}
var arr = [];
arr.push(root);
while(arr.length != 0){
var node = arr.shift();
if(node.left){
arr.push(node.left);
}
if(node.right){
arr.push(node.right);
}
result.push(node.val);
}
return result;
}