【力扣日记】637 二叉树的层平均值

题目描述

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.

算法思路

很显然的二叉树层遍历的变种。

算法:

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%的用户

发布了210 篇原创文章 · 获赞 20 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Heart_for_Ling/article/details/104865792