Average of Levels in Binary Tree
Tree BFS
Last updated
Tree BFS
Last updated
from collections import deque
class Solution:
def averageOfLevels(self, root: TreeNode) -> List[float]:
if root is None:
return []
result = []
queue = deque()
queue.append(root)
while queue:
sums = 0
levelSize = len(queue)
for _ in range(levelSize):
currentNode = queue.popleft()
sums+=currentNode.val
if currentNode.left:
queue.append(currentNode.left)
if currentNode.right:
queue.append(currentNode.right)
result.append(sums/levelSize)
return result
#Time: O(n)
#Space: O(n)