102. Binary Tree Level Order Traversal
solution
class Solution:
def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
if not root:
return []
queue = collections.deque([root])
res = []
while queue:
levels = [] # 树每层新开一个array,保存结果
for _ in range(len(queue)): # 每层结果单独一个array间隔的关键在增加一层for,且for循环次数要保持刚进入循环时的size
node = queue.popleft()
levels.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
res.append(levels)
return resfollow-up
Last updated