classSolution:deflevelOrder(self, root: TreeNode)-> List[List[int]]:
res =[]ifnot root:return res
queue =[root]while queue:
chi =[]for node in queue:if node.left:
chi.append(node.left)if node.right:
chi.append(node.right)#把queue里的值存进去
re1 =[]for i in queue:
re1.append(i.val)
res.append(re1)#后把queue更新成下一层的结点,继续遍历下一层
queue = chi
return res
104. 二叉树的最大深度
同样用层遍历也行
classSolution:defmaxDepth(self, root: TreeNode)->int:
n =0ifnot root:return n
queue =[root]while queue:
chi =[]for node in queue:if node.left:
chi.append(node.left)if node.right:
chi.append(node.right)
n +=1#后把queue更新成下一层的结点,继续遍历下一层
queue
102. 二叉树的层序遍历class Solution: def levelOrder(self, root: TreeNode) -> List[List[int]]: res = [] if not root: return res queue = [root] while queue: chi = [] for node in queue: