Binary Tree Zigzag Level Order Traversal LeetCode solution in JavaScript

1
var zigzagLevelOrder = function (root) {
2
let result = [];
3
if (root == null) return result;
4

5
let queue = [];
6
let leftToRight = true;
7

8
queue.push(root);
9

10
while (queue.length != 0) {
11
let qSize = queue.length;
12
let ans = [];
13

14
// Processing level
15
for (let i = 0; i < qSize; i++) {
16
let front = queue.shift();
17

18
let index = leftToRight ? i : qSize - i - 1;
19
ans[index] = front.val;
20

21
if (front.left) queue.push(front.left);
22
if (front.right) queue.push(front.right);
23
}
24
// changing order of operation
25
leftToRight = !leftToRight;
26

27
result.push(ans);
28
}
29

30
return result;
31
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0