- 700.二叉搜索树中的搜索
- 题目描述
- 思路
- 递归
- Python实现
- Java实现
700.二叉搜索树中的搜索 题目描述
二叉搜索树中的搜索
思路 递归
根据二叉搜索树的性质,可以进行如下递归操作:
- 若root为空则返回空结点;
- 若root.val=val则返回root;
- 若root.val>val则返回左子树;
- 若root.val
# 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 not root:
return None
if root.val == val:
return root
return self.searchBST(root.left, val) if val < root.val else self.searchBST(root.right, val)
Java实现
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
if (root == null) {
return null;
}
if (root.val == val) {
return root;
} else if (val < root.val) {
return searchBST(root.left, val);
} else {
return searchBST(root.right, val);
}
}
}



