"""
# Definition for a Node.
class Node:
def __init__(self, val, left=None, right=None):
self.val = val
self.left = left
self.right = right
"""
class Solution:
def treeToDoublyList(self, root: 'Node') -> 'Node':
# 二叉搜索树,左跟右中序排序的话就是有序的
if not root:
return
self.head = None
self.tail = None
def convert(cur):
if cur is None: return
convert(cur.left)
if self.tail is None:
self.head = cur
else:
self.tail.right = cur
cur.left = self.tail
self.tail = cur
convert(cur.right)
convert(root)
self.head.left = self.tail
self.tail.right = self.head
return self.head