给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。
输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]
class Solution:
def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
if not root:
return None
#队列+BFS
queue = [root]
res = []
while queue:
n = len(queue)
level = []
#遍历该层所有节点
for i in range(n):
node = queue.pop(0)
level.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
level.append(node.right)
res.append(level)
return res