leetcode 637 python3 76ms 二叉树的层平均值

Posted 一条图图犬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 637 python3 76ms 二叉树的层平均值相关的知识,希望对你有一定的参考价值。


# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

from collections import deque

class Solution:
    def averageOfLevels(self, root):
        """
        :type root: TreeNode
        :rtype: List[float]
        """
        res = []
        q = deque([root])
        while q:
            curr_sum = 0
            node_num_this_layer = len(q)
            for i in range(0, node_num_this_layer):
                node = q.popleft();
                curr_sum += node.val
                if node.left:
                    q.append(node.left)
                if node.right:
                    q.append(node.right)
            res.append(1.0*curr_sum/node_num_this_layer)
        return res

以上是关于leetcode 637 python3 76ms 二叉树的层平均值的主要内容,如果未能解决你的问题,请参考以下文章

leetcode559 Python3 128ms N叉树的最大深度

leetcode349 python3 112ms 求两个数组的交集

leetcode485 python3 88ms 最大连续1的个数

leetcode628 python3 124ms 三个数字的最大乘积

LeetCode - 637. Average of Levels in Binary Tree

LeetCode 637. 二叉树的层平均值(Average of Levels in Binary Tree)