题目描述
给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.
算法思路
很显然的二叉树层遍历的变种。
算法:
class Solution:
def averageOfLevels(self, root: TreeNode) -> List[float]:
ls=[root]
rec=[]
while ls:
tmp=0
for l in range(len(ls)):
i=ls.pop(0)
tmp+=i.val
if i.left:ls.append(i.left)
if i.right:ls.append(i.right)
rec.append(tmp/(l+1))
return rec
执行用时 :52 ms, 在所有 Python3 提交中击败了85.63%的用户
内存消耗 :15.9 MB, 在所有 Python3 提交中击败了5.04%的用户