538.把二叉搜索树转换位累加树
https://leetcode-cn.com/problems/convert-bst-to-greater-tree/
一:反向中序遍历

根据二叉搜索树性质,反向中序遍历,累加路径上的每个节点,就得到8,15,21,26,30……
class Solution:
def convertBST(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
self.sum = 0 #全局变量用于累加
def reverseInOrder(root):
if root == None:
return 0
#中序遍历(反向)框架
reverseInOrder(root.right)
self.sum += root.val #累加每个节点
root.val = self.sum #修改当前节点值
reverseInOrder(root.left)
reverseInOrder(root)
return root
最后更新于