目录
题目
- 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。
题解:BFS
class Solution:
def averageOfLevels(self, root: Optional[TreeNode]) -> List[float]:
q=[root]#用列表做队列
res=[]#结果列表
while q:
size = len(q)
m=0#每一层的平均值
for _ in range (size):
cur=q.pop(0)#弹出队列第一个原素
m+=cur.val#先求每一层的和
if cur.left:
q.append(cur.left)#如果有左孩子,加入队列
if cur.right:
q.append(cur.right)#如果有右孩子,加入队列
m=float(m/size)#用每一层的和除每一层的个数为每一层的平均数,转换为浮点型
res.append(m)#把每一层的平均值加入到结果列表
return res
标签:一层,cur,637,队列,二叉树,append,平均值
From: https://www.cnblogs.com/lushuang55/p/17924563.html