第22题-从上往下打印二叉树【JavaScript】


/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function PrintFromTopToBottom(root)
{
    // write code here
    var queue = [];//队列
    queue.push(root);
    var result = [];//存放打印结果
    
    if(root == null){
        return result;
    }
    
while(queue.length){//只要没遍历完,就一直会每次运行完下面代码队列都不为空
//注意这里写法,不能直接写为queue,必须是它的长度不为0
        var temp = queue.shift();//最先的那个数出队列
        result.push(temp.val);//将出队列的这个数的数值push到结果中
        if(temp.left){
            queue.push(temp.left);
        }
        if(temp.right){
            queue.push(temp.right);
        }
    }
    return result;
}

推荐阅读更多精彩内容