跳到主要内容

637.二叉树的层平均值

链接:637.二叉树的层平均值
难度:Easy
标签:树、深度优先搜索、广度优先搜索、二叉树
简介:给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。

题解 1 - typescript

  • 编辑时间:2020-09-12
  • 执行用时:104ms
  • 内存消耗:42.5MB
  • 编程语言:typescript
  • 解法介绍:层序遍历。
function averageOfLevels(root: TreeNode | null): number[] {
if (root === null) return [];
const queue: TreeNode[] = [root];
let size = 1;
const ans: number[] = [root.val];
while (queue.length !== 0) {
const node = queue.shift()!;
node.left && queue.push(node.left);
node.right && queue.push(node.right);
if (--size === 0 && queue.length !== 0) {
size = queue.length;
ans.push(queue.reduce((total, cur) => total + cur.val, 0) / size);
}
}
return ans;
}