res = [] queue = collections.deque() queue.append(root)
# visited = set(root)
while queue: level_size = len(queue) current_size = []
for _ in range(level_size): node = queue.popleft() current_level.append(node.val) if node.left: queue.append(node.left) if node.right: queue.append(node.right)