![](https://img-blog.csdnimg.cn/direct/021393199c754f2ea3fdaf521f5cdb7a.png)
#递归
class Solution:
def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:
self.res = None
self.select_lr(root,val)
if self.res == None:
return None
else:
return self.res
def select_lr(self,root,val):
if root:
value = root.val
if value == val:
self.res = root
elif value < val:
self.select_lr(root.right,val)
else:
self.select_lr(root.left,val)
#迭代
class Solution:
def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:
while root:
if root.val == val:
return root
elif root.val < val:
root = root.right
else:
root = root.left
return None