Average of Levels in Binary Tree LeetCode solution in Python
1class Solution:2def averageOfLevels(self, root: TreeNode) -> List[float]:34if not root:56# Quick response for empty tree7return []89traversal_q = [root]1011average = []1213while traversal_q:1415# compute current level average16cur_avg = sum((node.val for node in traversal_q if node)) / len(traversal_q)1718# add to result19average.append(cur_avg)2021# update next level queue22next_level_q = [23child24for node in traversal_q25for child in (node.left, node.right)26if child27]2829# update traversal queue as next level's30traversal_q = next_level_q3132return average