O(log n) time complexity, O(1) space, less line of code, easily understandable. Python
Intuition\n Describe your first thoughts on how to solve this problem. \nfollow the binary search rule.\n-> if searching value is grater than the current root, 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\nfollow the binary search rule.\n-> if searching value is grater than the current root, call riht node recursively\n-> follow the same approch for left node, if searching value is less than the current root \n\n# Approach\n<!-- Describe your approach to solving the problem. -->\nrecursive  \n\n# Complexity\n- Time complexity:O(log n)\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity: O(1) is considerable\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\n# Definition for a binary tree node.\n# class TreeNode:\n#     def __init__(self, val=0, left=None, right=None):\n#         self.val = val\n#         self.left = left\n#         self.right = right\nclass Solution:\n    def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:\n        # null check && considering serching value is not available in the tree\n        if not root:\n            return\n        # considering the serching value is in right side of the tree\n        if val>root.val:\n            return self.searchBST(root.right,val)\n        # considering the serching value is in right side of the tree\n        elif val<root.val:\n            return self.searchBST(root.left,val)\n        #return if value exist \n        return root       \n        \n```
['Binary Search', 'Tree', 'Binary Search Tree', 'Recursion', 'Python3']