zoukankan      html  css  js  c++  java
  • LeetCode 637. 二叉树的层平均值

    637. 二叉树的层平均值

    Difficulty: 简单

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

    示例 1:

    输入:
        3
       / 
      9  20
        /  
       15   7
    输出:[3, 14.5, 11]
    解释:
    第 0 层的平均值是 3 ,  第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。
    

    提示:

    • 节点值的范围在32位有符号整数范围内。

    Solution

    二叉树的层序遍历,很简单的BFS+queue。

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    ​
    class Solution:
        def averageOfLevels(self, root: TreeNode) -> List[float]:
            queue, res = [root], []
            while queue:
                curLevel, size = [], len(queue)
                for i in range(size):
                    node = queue.pop(0)
                    if node.left: queue.append(node.left)
                    if node.right: queue.append(node.right)
                    curLevel.append(node.val)
                res.append(sum(curLevel) / len(curLevel))
            return res
    
  • 相关阅读:
    Java注释
    加强版记事本
    Git简单使用
    Git简单使用
    Hadoop 2.6.0动态添加节点
    Hadoop 2.6.0动态添加节点
    ZooKeeper3.4.6配置
    ZooKeeper3.4.6配置
    SSH连接问题
    SSH连接问题
  • 原文地址:https://www.cnblogs.com/swordspoet/p/14102031.html
Copyright © 2011-2022 走看看