# 二叉搜索树中的搜索 (opens new window)
- 难度:Easy
- 标签:递归
# 刷题思路
- [x] 递归
- [x] 迭代
# 方法 1 递归
- 复杂度:
- 时间 O(logn)
- 空间 O(logn). 递归调用栈消耗
var searchBST = function(root, val) {
if (!root) return null
if (root.val === val) return root
return searchBST(root.val > val ? root.left: root.right, val)
};
# 方法 2 迭代
- 复杂度:
- 时间 O(logn)
- 空间 O(1)
var searchBST = function(root, val) {
while (root) {
if (root.val === val) return root
root = val < root.val ? root.left : root.right
}
return null
};
JS刷题记录 Leetcode-js (opens new window) 每周都会更新刷题心得或者题解, 你的点赞或 star 都将助力我产出更好内容~