题解 | #将二叉搜索树改为累加树#
将二叉搜索树改为累加树
https://www.nowcoder.com/practice/19bff16ca0d64d6da38ed24fd2903ce9
# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param root TreeNode类 # @return TreeNode类 # 学习中…… class Solution: def convertBST(self , root: TreeNode) -> TreeNode: # 最右端节点最大 从右往左依次变大 stack = [] pre = 0 tree = root while stack or root: while root: stack.append(root) root = root.right root = stack.pop() root.val += pre pre = root.val root = root.left return tree