Average of Levels in Binary Tree LeetCode solution in JavaScript
1var averageOfLevels = function (root) {2let avg = [root.val];3let level = [];4let queue = [root];5while (queue.length > 0) {6let curr = queue.shift();7if (curr.left) {8level.push(curr.left);9}10if (curr.right) {11level.push(curr.right);12}13if (queue.length === 0) {14queue.push(...level);15avg.push(level.reduce((a, b) => a + b.val, 0) / level.length);16level = [];17}18}19avg.pop();20return avg;21};