剑指offer-js 二叉树从上到下打印

二叉树从上到下打印

题目描述:

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

问题分析:

从上到下遍历,自然要记住顺序,那么一个数组用来存节点,一个用来存要打印的值

按照顺序:
	res 添加值,queue添加节点,按照左右顺序添加,这样,每次从queue中出队的时候都有顺序

代码展示:

/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */

function PrintFromTopToBottom(root)
{
    // write code here
    if(root == null)
        return [];
    var queue = [];    //存储节点,删除节点
    var res = [];    //存储节点的值,return

    queue.push(root);
    
    while (queue.length){
        var node = queue.shift();//返回arr数组中的第一个元素
        res.push(node.val); //将节点的值放入res中,return
        if (node.left){ //左儿子
            queue.push(node.left);
        } 
        if (node.right){    //右儿子
            queue.push(node.right);
        } 
    }
    return res;

    
}

你可能感兴趣的:(剑指offer)