深度优先递归,从左到右,依次加入当前层级对应的列表中即可。

global res
res=[]
def walk(node,i):#节点、层数
    global res
    if node is None:
        return
    if len(res)<i+1:#如果该层还没有,则新增一层,即新加一列
        res.append([])
    res[i].append(node.val)#当前值加入对应的层列表
    l=walk(node.left,i+1)#从左到右依次深入
    r=walk(node.right,i+1)
    
class Solution:
    def levelOrder(self , root: TreeNode) -> List[List[int]]:
        # write code here
        walk(root,0)
        return res