题解 | #按之字形顺序打印二叉树#

按之字形顺序打印二叉树

http://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0

//与层序遍历一样的模板,有些许地方变动,如下标注
function Print(root)
{
    // write code here
    var res=[],num=0;
    if(!root) return res
    var queue=[root];
//     queue.push(root);
    while(queue.length){
        var len=queue.length;
        var level=[];//存放每一层的节点
        num++;//表示层数
        for(var i=0;i<len;i++){
            var cur=queue.shift();
            level.push(cur.val)
            cur.left && queue.push(cur.left);
            cur.right && queue.push(cur.right);
        }
        if(num%2 == 0) level.reverse()  //判断是否是偶数层,是就反转该层的数组
        res.push(level)
    }
    return res
}

全部评论

相关推荐

头像
昨天 15:46
已编辑
中南大学 后端
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务