题解 | #按之字形顺序打印二叉树#
按之字形顺序打印二叉树
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;
}
#刷题#