
var levelOrder = function (root) {
if (!root) return [];
let needReverse = false;
let treeList = [[root.val]], temp = [], queue = [root];
while (queue.length) {
const node = queue.shift();
node.left && temp.push(node.left);
node.right && temp.push(node.right);
if (queue.length === 0 && temp.length) {
needReverse = !needReverse;
if (needReverse) {
treeList.push(temp.map(item => item.val).reverse())
} else {
treeList.push(temp.map(item => item.val))
}
queue = [...temp];
temp = [];
}
}
return treeList
};
剑指 Offer 32 - III. 从上到下打印二叉树 III - 力扣(LeetCode)