Python에서 "두갈래 트리의 계층 이동||"을 실현하는 방법

1212 단어 Algorithms
두 갈래 나무를 지정하여 위에서 아래로 층계순으로 결점을 훑어보는 값을 되돌려줍니다. (예를 들어 잎 노드의 층계부터 뿌리 결점의 층계까지)
예:
두 갈래 나무[3,9,20,null,null,15,7] ,
   3
   / \
  9  20
    /  \
   15   7

아래에서 위까지 계층 순으로 반복한 결과는 다음과 같습니다.
[
  [15,7],
  [9,20],
  [3]
]

1: 위에서 아래로 층별로 두 갈래 나무를 훑어보다

def levelOrderBottom(self, root):
        """
        :type root: TreeNode
        :rtype: List[List[int]]
        """
        if not root:       # 
            return []
        curList = [root]   # , 
        rList = []         # 
        while curList:     # 
            tempNodeList = []    # 
            tempValList = []     # 
            for node in curList:  # 
                tempValList.append(node.val)   # 
                if node.left is not None:      
                    tempNodeList.append(node.left)
                if node.right is not None:
                    tempNodeList.append(node.right)
            curList = tempNodeList     
            rList.append(tempValList)   # 
        return rList[::-1]   # 

알고리즘 문제:https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/description/

좋은 웹페이지 즐겨찾기