所有Leetcode题目不定期汇总在 Github, 欢迎大家批评指正,讨论交流。
其实就是在中序遍历的递归过程中加入一个辅助指针,另外用一个额外指针记住中序遍历开头的位置,转化过程的参考图片来自博客
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def __init__(self):
self.head = None
self.tail = None
def Convert(self, pRootOfTree):
# write code here
if not pRootOfTree: return
self.Convert(pRootOfTree.left)
if not self.head :
self.head,self.tail = pRootOfTree,pRootOfTree
else:
self.tail.right,pRootOfTree.left = pRootOfTree,self.tail
self.tail = self.tail.right
self.Convert(pRootOfTree.right)
return self.head
所有Leetcode题目不定期汇总在 Github, 欢迎大家批评指正,讨论交流。