题解 | #求二叉树的层序遍历#

求二叉树的层序遍历

http://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3

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

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
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务