// using reverse inorder traversal // must read
From https://leetcode.com/problems/convert-bst-to-greater-tree/#/description
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
int sum = 0;
public TreeNode convertBST(TreeNode root) {
convert(root);
return root;
}
public void convert(TreeNode node){
if (node == null){
return ;
}
convert(node.right);
node.val = node.val + sum;
sum = node.val;
convert(node.left);
}
}