# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None import functools class Solution: @functools.lru_cache() def searchBST(self, root: TreeNode, val: int) -> TreeNode: if not root: return if root.val==val: return root elif root.val<val: return self.searchBST(root.right,val) else: return self.searchBST(root.left,val)