# [LeetCode]#637. Average of Levels in Binary Tree

`Input: root = [3,9,20,null,15,7]Output: [3.00000,14.50000,11.00000]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].`
1. Use collections.deque()
2. check node or not
3. get the same level node
4. search next level node
5. calculate the current level average and add it to answer list
6. return all levels average
`from binarytree import Noderoot = Node(3) root.left=Node(9)root.right=Node(20) root.right.left=Node(15)root.right.right=Node(7)# Getting binary tree print('Binary tree :', root)import collectionsclass Solution(object):    def averageOfLevels(self, root):        queue = collections.deque()        ans = []        queue.append(root)        while queue:            size = len(queue)            temp = []            for _ in range(size):                node = queue.popleft()                if not node:                    continue                temp.append(node.val)                queue.append(node.left)                queue.append(node.right)            if temp:                ans.append(sum(temp) / float(len(temp)))        return ans`

## More from Fatboy Slim

Interesting in any computer science.

Love podcasts or audiobooks? Learn on the go with our new app.

## Fatboy Slim

Interesting in any computer science.