[700]二叉搜索树中的搜索
# 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 # # 例如, # # # 给定二叉搜索树: # # 4 # / \ # 2 7 # / \ # 1 3 # # 和值: 2 # # # 你应该返回如下子树: # # # 2 # / \ # 1 3 # # # 在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。 # Related Topics 树 二叉搜索树 二叉树 👍 165 👎 0 # leetcode submit region begin(Prohibit modification and deletion) # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def searchBST(self, root: TreeNode, val: int) -> TreeNode: if root is None: return None if val < root.val: # 小于左子树寻找 return self.searchBST(root.left, val) elif val > root.val: # 大于右子树寻找 return self.searchBST(root.right, val) else: return root # leetcode submit region end(Prohibit modification and deletion)