LeetCode(力扣)700. 二叉搜索树中的搜索Python

LeetCode20. 有效的括号

题目链接

https://leetcode.cn/problems/search-in-a-binary-search-tree/

代码

递归法

python 复制代码
# 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: Optional[TreeNode], val: int) -> Optional[TreeNode]:
        if not root or root.val == val:
            return root
        if root.val < val:
            result = self.searchBST(root.right, val)
        if root.val > val:
            result = self.searchBST(root.left, val)
        return result

迭代

python 复制代码
class Solution:
    def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:
        while root:
            if root.val < val: root = root.right
            elif root.val > val: root = root.left
            else: return root
相关推荐
薛定猫AI7 小时前
【技术干货】多模型AI编程代理实战:用Python统一接入Claude Opus 4.8
人工智能·python·ai编程
imuliuliang7 小时前
关于Kruskal 算法在图优化问题中的扩展应用7
算法
老约家的可汗7 小时前
Linux中基础IO
linux·服务器·算法
满怀冰雪7 小时前
第29篇-状态压缩DP-当状态很多时如何降维优化
java·算法·动态规划
令狐掌门8 小时前
2026华为OD面试题020:日志文件异常检测
算法·leetcode·华为od
炸薯条!8 小时前
从零开始学C++(4) --类和对象
开发语言·c++·算法
haluhalu.8 小时前
prompts.chat:07-few-shot-prompting
人工智能·算法
Jerry8 小时前
LeetCode 150. 逆波兰表达式求值
算法
浩瀚地学8 小时前
【面试算法笔记】0106-数组-区间和
笔记·算法·面试
Jerry13 小时前
LeetCode 1047. 删除字符串中的所有相邻重复项
算法