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
    
  • 相关阅读:
    安装mysql
    date, Calendar
    心态
    jdbc ---- DBUTilDao 类
    jdbc--------JdbcUtilDao 类
    Python与C/C++相互调用
    用链表和数组实现HASH表,几种碰撞冲突解决方法
    用链表实现消息队列
    文件系统的发展
    [深度学习]开源的深度学习框架
  • 原文地址:https://www.cnblogs.com/swordspoet/p/14102031.html
Copyright © 2011-2022 走看看