二叉树的层序遍历
给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。
class Solution:
# BFS广度遍历每层结果
def levelOrder(self, root: TreeNode) -> List[List[int]]:
# 定义特殊条件退出
if not root:
return []
res , cur_layer = [],[root]
while cur_layer:
temp_layer = []
next_layer = []
for i in cur_layer:
temp_layer.append(i.val)
if i.left:
next_layer.append(i.left)
if i.right:
next_layer.append(i.right)
res.append(temp_layer)
cur_layer = next_layer
return res