剑指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;

    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值