637. 二叉树的层平均值
给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.
示例 1:
输入:
3
/ \
9 20
/ \
15 7
输出: [3, 14.5, 11]
解释:
第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11].
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/average-of-levels-in-binary-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number[]}
*/
var averageOfLevels = function(root) {
let res = []
if (root == null) {
return res
}
let bfs = (root, i) => {
if (!root) {
return
}
if (!res[i]) {
res[i] = []
}
res[i].push(root.val)
bfs(root.left, i + 1)
bfs(root.right, i + 1)
}
bfs(root, 0)
for (let i in res) {
res[i] = res[i].reduce((a, b) => a + b) / res[i].length
}
return res
};