Average of Levels in Binary Tree LeetCode solution in JavaScript

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

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0