给定一个非空二叉树,返回一个由每层节点平均值组成的数组.
示例 1:
输入:
3
/ \
9 20
/ \
15 7
输出: [3,14.5,11]
解释:
第0层的平均值是 3,第1层是 14.5,第2层是 11. 因此返回 [3,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) t.right: queue.append(t.right) res.append(float(s)/float(l)) return res
总结
以上是内存溢出为你收集整理的【python-leetcode637-树的宽度遍历】二叉树的层平均值全部内容,希望文章能够帮你解决【python-leetcode637-树的宽度遍历】二叉树的层平均值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)