题目链接
代码
递归
1
2
3
4
5
6
7
8
9
10
11class Solution {
public TreeNode searchBST(TreeNode root, int val) {
if (root == null || root.val == val) {
return root;
} else if (root.val > val) {
return searchBST(root.left, val);
} else {
return searchBST(root.right, val);
}
}
}迭代
1
2
3
4
5
6
7
8
9class Solution {
public TreeNode searchBST(TreeNode root, int val) {
TreeNode node = root;
while (node != null && node.val != val) {
node = node.val > val ? node.left : node.right;
}
return node;
}
}
复杂度分析
- 时间复杂度: O(n)
- 空间复杂度: O(1)