# Search in a Binary Search Tree

Recursive:

```python
class Solution:
    def searchBST(self, root: TreeNode, val: int) -> TreeNode:
        if not root:
            return None
        if root.val == val:
            return root
        if root.val < val:
            return self.searchBST(root.right,val)
        return self.searchBST(root.left,val)
```

Iterative

```python
class Solution:
    def searchBST(self, root: TreeNode, val: int) -> TreeNode:
        while root != None and root.val != val:
            if root.val < val:
                root = root.right
            else:
                root = root.left
        return root
```
