Binary Tree Zigzag Level Order Traversal LeetCode solution in JavaScript
1var zigzagLevelOrder = function (root) {2let result = [];3if (root == null) return result;45let queue = [];6let leftToRight = true;78queue.push(root);910while (queue.length != 0) {11let qSize = queue.length;12let ans = [];1314// Processing level15for (let i = 0; i < qSize; i++) {16let front = queue.shift();1718let index = leftToRight ? i : qSize - i - 1;19ans[index] = front.val;2021if (front.left) queue.push(front.left);22if (front.right) queue.push(front.right);23}24// changing order of operation25leftToRight = !leftToRight;2627result.push(ans);28}2930return result;31};