100天每日一题(day13)

100天每日一题(day13)

  解答:还是用递归(DFS),设置depth记录层数(DFS,基本上都有两个参数,一个root,另一个存储或者记录)

# Definition for a binary tree node.

# class TreeNode:

#     def __init__(self, x):

#         self.val = x

#         self.left = None

#         self.right = None

 

class Solution:

    def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:

        if not root:

            return []

        out=[]

        def DFS(root,depth):

            if not root:

                return

            if len(out)<depth+1:

                out.append([])

            out[depth].append(root.val)

            DFS(root.left,depth+1)

            DFS(root.right,depth+1)

        DFS(root,0)

 

        return out[::-1]