输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def __init__(self):
self.re=[]
def Convert(self, pRootOfTree):
# write code here
if not pRootOfTree: return
#self.re=[]
self.inorder(pRootOfTree)
for i,val in enumerate(self.re[:-1]):
val.right=self.re[i+1]
self.re[i+1].left=val
return self.re[0]
def inorder(self,root):
if not root: return
self.inorder(root.left)
self.re.append(root)
self.inorder(root.right)