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

按之字形顺序打印二叉树

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
}

全部评论

相关推荐

面了100年面试不知...:头像换成柯南再试试
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务