zoukankan      html  css  js  c++  java
  • [Leetcode] Binary tree-- 637. Average of Levels in Binary Tree

    Given a non-empty binary tree, return the average value of the nodes on each level in the form of an array.

    Example 1:

    Input:
        3
       / 
      9  20
        /  
       15   7
    Output: [3, 14.5, 11]
    Explanation:
    The average value of nodes on level 0 is 3,  on level 1 is 14.5, and on level 2 is 11. Hence return [3, 14.5, 1


    Solution:

       # it actually examines the knowledge of level order
       #refer to the similar problem : 102. Binary Tree Level Order Traversal

     1         if not root:
     2             return []
     3         d = collections.deque()
     4         d.append(root)
     5         resLst = []
     6         while(len(d)):
     7             n = len(d)
     8             lst = []
     9             tmpSum = 0.0
    10             count = n
    11             while(n > 0):
    12                 node = d.popleft()
    13                 tmpSum += node.val
    14                 if node.left:
    15                     d.append(node.left)
    16                 if node.right:
    17                     d.append(node.right)
    18                 n -= 1
    19             resLst.append(tmpSum/count)
    20 
    21         return resLst
  • 相关阅读:
    ASP.NET 作业题
    作业题
    作业题...
    作业题
    控件属性
    ASP控件解释
    排序
    5. 用自己的语言描述一下程序连接数据库的过程。
    4. 什么是AJAX
    3.怎样计算页面执行的时间?
  • 原文地址:https://www.cnblogs.com/anxin6699/p/7239358.html
Copyright © 2011-2022 走看看