Leetcode 897. 순차 검색 트 리 증가 (순서 검색 트 리 증가)

Leetcode 897. 순차 찾기 트 리
1 제목 설명 (Leetcode 제목 링크)
* 8195: 8195: 나 무 를 하나 드 리 겠 습 니 다. 중간 순서에 따라 나 무 를 다시 배열 하여 나무 에서 가장 왼쪽 에 있 는 결점 이 현재 나무의 뿌리 이 고 모든 결점 은 왼쪽 에 있 는 결점 이 없고 오른쪽 에 있 는 결점 만 있 습 니 다.
[5,3,6,2,4,null,8,1,null,null,null,7,9]

       5
      / \
    3    6
   / \    \
  2   4    8
 /        / \ 
1        7   9[1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]

 1
  \
   2
    \
     3
      \
       4
        \
         5
          \
           6
            \
             7
              \
               8
                \
                 9  

알림:
4. 567917. 주어진 나무의 결 점 수 는 1 과 100 사이 에 있 습 니 다
4. 567917. 모든 결점 은 0 에서 1000 범위 내의 유일한 정수 치 를 가지 고 있다
2 문제 풀이
『 8195 』 중 서 를 옮 겨 다 니 며 구축 합 니 다.
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def increasingBST(self, root: TreeNode) -> TreeNode:
        head = TreeNode(0)
        p = head
        stack = []
        while root or stack:
            while root:
                stack.append(root)
                root = root.left
            root = stack.pop()
            p.right = root
            p.left = None
            p = p.right
            root = root.right
        return head.right

이 방법 은 정말 강하 다!코드 를 보면 잘 모 르 겠 어 요. 사랑 해 요. 사랑 해 요.링크
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def increasingBST(self, root: TreeNode, tail = None) -> TreeNode:
        if not root: return tail
        res = self.increasingBST(root.left, root)
        root.left = None
        root.right = self.increasingBST(root.right, tail)
        return res

좋은 웹페이지 즐겨찾기