应用题-二叉树专题-二叉搜索树中的搜索

管理员
**迭代** ```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]: r = root while r: if r.val > val: r = r.left elif r.val < val: r = r.right else: return r return None ``` **递归** ```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: return None if root.val == val: return root elif root.val > val: return self.searchBST( root.left, val ) else: return self.searchBST( root.right, val ) ```
评论 0

发表评论 取消回复

Shift+Enter 换行  ·  Enter 发送
还没有评论,来发表第一条吧