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

按之字形顺序打印二叉树

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

export function Print(pRoot: TreeNode): number[][] {
    // write code herecons
    if (!pRoot) return [];
    const result: Array<Array<number>> = [];
    const tempResult: Array<number> = [];
    let queue: Array<TreeNode> = [];
    let nextQueue: Array<TreeNode> = [];
    let count: number = 0;
    queue.push(pRoot);
    while (queue.length) {
        const current: TreeNode = queue.shift();
        tempResult.push(current.val);
        if (current.left) nextQueue.push(current.left);
        if (current.right) nextQueue.push(current.right);
        if (!queue.length) {
            if (count & 1) tempResult.reverse();
            result.push([...tempResult]);
            tempResult.length = 0;
            queue = [...nextQueue];
            nextQueue.length = 0;
            count ++;
        }
    }
    return result;
}

#刷题#
全部评论

相关推荐

DKS233:(1)专业技能:Java8也太旧了,最少也要了解到JDK17吧,可以参考现在SpringBoot支持的Java最低版本,熟悉mysql基本理论具体指啥,是锁这种具体原理还是分库分表这些业务场景,spring这些专业词汇,大小写要写对(全篇简历都有这个问题,显得不严谨),熟悉使用框架进行业务开发就别写了,如果要写,起码要写到框架原理部分吧,比如aop,启动原理什么的,springcloud具体指哪些模块呢,写清楚,网关还是鉴权还是什么,“改造”没必要写吧,你直接说用springcloud开发的不就行了(2)项目经历:首先格式就有大问题,时间怎么能换行呢,调整一下,响应速度那个,如果指的是将部分数据从其他数据库转到redis的提升就别写了,因为这个不算难点,redis可以写写分布式这些,比如容灾怎么实现的,数据库同步怎么做的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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