题解 | #JZ78 把二叉树打印成多行#

把二叉树打印成多行

http://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288

```/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function Print(pRoot)
{
    // write code here
    if(pRoot===null){return []}
    let resArr=[]
    let quene = [pRoot]
    while(quene.length){
       let len = quene.length //每一次while循环打印某一层的节点,所以要先记录下此时队列的长度,之后子节点入队会变
       let temp=[]
       for(let i=0;i<len;i++){  //打印某一层的节点,只需要按照记录的长度打印队列的前len个节点
           let node = quene.shift()
           temp.push(node.val)
           if(node.left){quene.push(node.left)}
           if(node.right){quene.push(node.right)}
       }
        resArr.push(temp)
    }
    return resArr
}
module.exports = {
    Print : Print
};
全部评论

相关推荐

coffrar:全都是已读😅沟通一千五百多个了
点赞 评论 收藏
分享
醒工硬件:1学校那里把xxxxx学院去了,加了学院看着就不像本校 2简历实习和项目稍微精简一下。字太多,面试官看着累 3第一个实习格式和第二个实习不一样。建议换行 4项目描述太详细了,你快把原理图贴上来了。比如可以这样描述:使用yyyy芯片,使用xx拓扑,使用pwm控制频率与占空比,进行了了mos/电感/变压器选型,实现了xx功能 建议把技术栈和你做的较为有亮点的工作归纳出来 5熟悉正反激这个是真的吗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务