原题链接:538. 把二叉搜索树转换为累加树 - 力扣(LeetCode)
题目描述:
思路分析:
通过描绘二叉搜索树转换累加树的过程,我们发现转换的过程是从右往左依次相加的,新节点的值= 右边节点的值的和 + 旧节点的值,那么我们可以定义一个 sum 变量来保存右边节点的值的和,然后按从右往左的顺序遍历累加。
代码示例:
Class Solution {
int sum = 0;
public TreeNode convertBST(TreeNode root) {
if(root == null) return null;
convertBST(root.right);
sum += root.val;
root.val = sum;
convertBST(root.left);
return root;
}
}