标签:pen out float return class binary normal each type
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, 11].
Note:
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def averageOfLevels(self, root):
"""
:type root: TreeNode
:rtype: List[float]
"""
if(not root):
return 0
result = []
queue = [root]
while(queue):
count = len(queue)
sum = 0
for i in range(0, count):
node = queue.pop(0)
sum += node.val
if(node.left):
queue.append(node.left)
if(node.right):
queue.append(node.right)
result.append(sum * 1.0 / count)
return result
637. Average of Levels in Binary Tree 二叉树每一层的平均值
标签:pen out float return class binary normal each type
原文地址:http://www.cnblogs.com/xiejunzhao/p/7142333.html