103.二叉树的锯齿形层序遍历

二叉树的锯齿形层序遍历

给你二叉树的根节点 root,返回其节点值的锯齿形层序遍历。即先从左往右,再从右往左进行下一层遍历,以此类推。

解析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var zigzagLevelOrder = function (root) {
if (!root) return [];
const result = [], queue = [root];
let leftToRight = true;
while (queue.length) {
const level = [], size = queue.length;
for (let i = 0; i < size; i++) {
const node = queue.shift();
leftToRight ? level.push(node.val) : level.unshift(node.val);
if (node.left) queue.push(node.left);
if (node.right) queue.push(node.right);
}
result.push(level);
leftToRight = !leftToRight;
}
return result;
};

103.二叉树的锯齿形层序遍历
https://leetcode.lz5z.com/103.binary-tree-zigzag-level-order-traversal/
作者
tickli
发布于
2024年2月17日
许可协议