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

    题目描述:

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

    示例 1:

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

    分析:

    了解输入是什么样的?

    TreeNode{val: 3, left: TreeNode{val: 9, left: TreeNode{val: 15, left: None, right: None}, right: TreeNode{val: 7, left: None, right: None}}, right: TreeNode{val: 20, left: None, right: None}}
    发现是一个根节点的val,和左右子树
    那么只要取出当前层所有的val即可
    解题:
    class Solution:
        def averageOfLevels(self, root: TreeNode) -> List[float]:
            cur_layer = [root]
            res=[]
            while(cur_layer):
                n=len(cur_layer)
                temp=[]
                sumT=0
                for i in cur_layer:
                    sumT += i.val
                    if(i.left):
                        temp.append(i.left)
                    if(i.right):
                        temp.append(i.right)
                cur_layer = temp
                res.append(sumT/n)
            return(res)
  • 相关阅读:
    django+uwsgi+nginx实现负载均衡
    centos7 pip安装
    centos虚拟环境配置
    cenots7更换国内pip源
    FastDFS缩容
    FastDFS基于group扩容
    centos同步系统时间
    centos永久开放端口
    pip更换国内源
    Java四种访问修饰符
  • 原文地址:https://www.cnblogs.com/fuj905/p/12757655.html
Copyright © 2011-2022 走看看