[leetcode] 114. Flatten Binary Tree to Linked List

Youn·2021년 10월 4일
1

Algorithm

목록 보기
31/37

문제 설명

링크
이진트리를 pre-order 순으로 linked list 로 만드는 문제 O(1) 메모리

접근

  • root.left 의 가장 끝 right node 의 오른쪽에 root.right 붙이기
  • root = root.right 로 이동시키며 해당 과정 반복

코드

      def flatten(self, root: Optional[TreeNode]) -> None:
        """
        Do not return anything, modify root in-place instead.
        """
        head = root
        while head:
            if head.left:
                prev = head.left
                while prev.right:
                    prev = prev.right
                prev.right = head.right
                head.right = head.left
                head.left = None
            head = head.right
profile
youn

0개의 댓글