1# Runtime: 87 ms (Top 85.77%) | Memory: 16.7 MB (Top 24.56%)2# Definition for a binary tree node.3# class TreeNode:4# def __init__(self, val=0, left=None, right=None):5# self.val = val6# self.left = left7# self.right = right8class Solution:9def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:10def search(root):11if not root:12return None13if root.val == val:14return root15elif root.val < val:16ans = search(root.right)17if ans:18return ans19return None20else:21ans = search(root.left)22if ans:23return ans24return None2526return search(root)