用 Python 编写程序检查一个值是否存在于 BST 中
pythonserver side programmingprogramming更新于 2026/1/7 2:20:17
假设我们有一个二叉搜索树和另一个名为 val 的输入,我们必须检查树中是否存在 val。
因此,如果输入如下

val = 7,则输出将为 True,因为树中存在 7。
为了解决这个问题,我们将遵循以下步骤−
定义一个函数solve()。这将获取 root, val
如果 root 为 null,则
返回 False
如果 root 的数据与 val 相同,则
返回 True
如果 root 的数据 < val,则
返回 resolve(left of root, val)
返回 resolve(right of root, val)
让我们看看以下实现以便更好地理解−
示例
class TreeNode: def __init__(self, data, left = None, right = None): self.data = data self.left = left self.right = right class Solution: def solve(self, root, val): if not root: return False if root.data == val: return True if root.data > val: return self.solve(root.left, val) return self.solve(root.right, val) ob = Solution() root = TreeNode(5) root.left = TreeNode(1) root.right = TreeNode(9) root.right.left = TreeNode(7) root.right.right = TreeNode(10) root.right.left.left = TreeNode(6) root.right.left.right = TreeNode(8) print(ob.solve(root, 7))
输入
root = TreeNode(5) root.left = TreeNode(1) root.right = TreeNode(9) root.right.left = TreeNode(7) root.right.right = TreeNode(10) root.right.left.left = TreeNode(6) root.right.left.right = TreeNode(8) 7
输出
True
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

