700. 二叉搜索树中的搜索
深度优先搜索
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
if (root == null){
return root;
}
if (root.val == val){
return root;
}
else if (root.val > val){
return searchBST(root.left, val);
}
else {
return searchBST(root.right, val);
}
}
}
/**
* 时间复杂度 O(n)
* 空间复杂度 O(n)
*/
迭代
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
while (root != null){
if (root.val == val){
return root;
}
else if (root.val > val){
root = root.left;
}
else {
root = root.right;
}
}
return null;
}
}
/**
* 时间复杂度 O(n)
* 空间复杂度 O(n)
*/
https://leetcode-cn.com/problems/search-in-a-binary-search-tree/