Solution: Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class Solution: def averageOfLevels( self , root: TreeNode) - > List [ float ]: if root is None : return re = [] q = [root] while q: tmpLen = len (q) levelList = [] for i in range (tmpLen): tmp = q.pop( 0 ) levelList.append(tmp.val) if tmp.left: q.append(tmp.left) if tmp.right: q.append(tmp.right) re.append( sum (levelList) / len (levelList)) return re |