题目
给出一个二叉搜索树,将其转换成双向链表。
Python题解
class Solution(object):
def __init__(self):
self.last_node_in_list = None
def convertBinaryTreeToDoubleList(self, root):
if root is None:
return
self.helper(root)
while root.left:
root = root.left
return root
def helper(self, root):
if root is None:
return
if root.left:
self.helper(root.left)
root.left = self.last_node_in_list
if self.last_node_in_list:
self.last_node_in_list.right = root
self.last_node_in_list = root
if root.right:
self.helper(root.right)