# Problem Definition

## Description

Given a BST node, return the node which has value just greater than the given node.

Example:

Given the tree

```plaintext

               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.

## Notes

1. [YT - CodeSchool - Inorder Successor in a binary search tree](https://www.youtube.com/watch?v=5cPbNCrdotA)
1. [CodeSchool C++ code](https://gist.github.com/mycodeschool/6515e1ec66482faf9d79)
1. [YT - Vivekanand Khyade - Algorithm Every Day - INORDER SUCCESSOR in binary search tree](https://www.youtube.com/watch?v=JdmAYw5h3G8)
1. [ProgramCreek](https://www.programcreek.com/2014/05/leetcode-inorder-successor-in-bst-java/)