> For the complete documentation index, see [llms.txt](https://mayanktyagi3111.gitbook.io/interview-prep/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mayanktyagi3111.gitbook.io/interview-prep/trees/next-greater-number-bst.md).

# 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.

```java
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;
    }
}
```
