Next Greater Number BST
Given a BST node, return the node which has value just greater than the given node.
Example:
Given the tree
100
/ \
98 102
/ \
96 99
\
97
Given 97
, you should return the node corresponding to 98
as thats the value just greater than 97
in the tree.
If there are no successor in the tree ( the value is the largest in the tree, return NULL
).
Using recursion is not allowed.
Assume that the value is always present in the tree.
public class Solution {
public TreeNode getSuccessor(TreeNode a, int b) {
TreeNode ans = null;
while (a != null) {
if (a.val > b) {
ans = a;
a = a.left;
} else {
a = a.right;
}
}
return ans;
}
}
Last updated