Here is the interview question prompt, presented for reference.
We are given a binary tree
and are tasked with writing a method that determines the average of every level in the tree. So for instance, given the following binary tree, we'd get [2, 5, 7]
if the method grabbed the correct means.
/*
2
/ \
3 7
/ \ \
4 8 9
*/
meanOfLevels(root);
// [2, 5, 7]
You may assume the standard tree node definition of:
function Node(val) {
this.val = val;
this.left = this.right = null;
}
const root = new Node(2);
root.left = new Node(3);
root.right = new Node(7);
root.left.left = new Node(4);
root.left.right = new Node(8);
root.right.right = new Node(9);
console.log(meanOfLevels(root));
-1000000000
and 1000000000
O(n)
for bothYou can see the full challenge with visuals at this link.
Challenges • Asked almost 7 years ago by Jake from AlgoDaily
This is the main discussion thread generated for Mean Per Level.