深度优先递归,从左到右,依次加入当前层级对应的列表中即可。
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