What should be the approach to solve this problem ?
Doubt regarding replace with sum of greater nodes
we do reverse Inorder traversal of BST, we get all nodes in decreasing order. We do reverse Inorder traversal and keep track of the sum of all nodes visited so far, we add this sum to every node.
public void Replace_with_Sum_of_greater_nodes1(Node node) {
if (node == null) {
return;
}
Replace_with_Sum_of_greater_nodes1(node.right);
sum += node.data;
node.data = sum;
Replace_with_Sum_of_greater_nodes1(node.left);
return;
}