Untitled
unknown
plain_text
a year ago
732 B
6
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);
}
}
Editor is loading...
Leave a Comment