#coding:utf-8 # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param root TreeNode类 # @return TreeNode类 # class Solution: def __init__(self): self.summation = 0 def convertBST(self , root ): # write code here #思路:既然找最大的,那就是遍历所有右子树 if root == None: return root self.dfs(root) return root def dfs(self, root): if root == None: return self.dfs(root.right) self.summation += root.val root.val = self.summation self.dfs(root.left) return