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

按之字形顺序打印二叉树

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;
}

#刷题#
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务