Given a Binary Search Tree, return the node with the minimum data.

Example: 4 / \ 2 8 / \ 5 10 Output ==> 2

Need a **hand?** Try out these hints, one at a time.

In a BST, the left most node is the one with lowest value. Hence the key here is to return the left most node of the tree.

1. If the `root`

node is `null`

, `return null`

.

2. Else, if the left node of the `root`

node is `null`

, return `root`

3. Recurse through the `left`

node. i.e. return `findMin(root.left)`

public TreeNode findMin(TreeNode root) { }

**C**

**Java**

**Python**