Untitled

 avatar
unknown
plain_text
a month ago
732 B
2
Indexable
public class BSTToGreaterTree {
    public TreeNode convertBST(TreeNode root) {
        reverseInOrderTraversal(root, 0);
        return root;
    }

    private int reverseInOrderTraversal(TreeNode node, int greaterSum) {
        if (node == null) return greaterSum;

        // Traverse the right subtree, get the updated sum
        greaterSum = reverseInOrderTraversal(node.right, greaterSum);

        // Update the current node's value
        node.val += greaterSum;

        // Update the sum to include the current node's value
        greaterSum = node.val;

        // Traverse the left subtree, passing the updated sum
        return reverseInOrderTraversal(node.left, greaterSum);
    }

    
}
Leave a Comment