剑指offer(22)从上往下打印二叉树

题目描述:

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

解题代码:

/* 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;
}
原文地址:https://www.cnblogs.com/3yleaves/p/9610760.html