trav.py (718B)
1 from collections import deque 2 3 4 class Solution: 5 def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]: 6 7 if root is None: 8 return [] 9 10 results = [] 11 queue = deque() 12 queue.append(root) 13 layer = 0 14 15 while queue: 16 17 queue_size = len(queue) 18 results.append([]) 19 20 for i in range(0, queue_size): 21 current = queue.popleft() 22 23 if not current.left is None: 24 queue.append(current.left) 25 if not current.right is None: 26 queue.append(current.right) 27 results[layer].append(current.val) 28 layer += 1 29 return results