링크
이진트리를 pre-order 순으로 linked list 로 만드는 문제 O(1) 메모리
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