
【python-leetcode637-树的宽度遍历】二叉树的层平均值
发布日期:2021-05-09 08:30:43
浏览次数:13
分类:博客文章
本文共 802 字,大约阅读时间需要 2 分钟。
给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.
示例 1:
输入:
3 / \ 9 20 / \ 15 7输出: [3, 14.5, 11]解释:第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11].注意:节点值的范围在32位有符号整数范围内。
# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def averageOfLevels(self, root: TreeNode) -> List[float]: if not root: return [] queue=[root] res=[] while queue: s=0 l=len(queue) for i in range(l): t=queue.pop(0) s+=t.val if t.left: queue.append(t.left) if t.right: queue.append(t.right) res.append(float(s)/float(l)) return res