添加700.二叉搜索树中的搜索 Java/Python版本

This commit is contained in:
LehiChiang
2021-05-13 19:58:49 +08:00
parent 1e9b9c4a7e
commit 8ce5dcff6f

View File

@ -140,12 +140,61 @@ public:
## 其他语言版本
Java
递归法:
```java
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
if (root == null) return null;
if (root.val == val) return root;
else if (root.val > val) return searchBST(root.left, val);
else return searchBST(root.right, val);
}
}
```
迭代法:
```java
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
while (root != null)
if (val < root.val) root = root.left;
else if (val > root.val) root = root.right;
else return root;
return root;
}
}
```
Python
递归法:
```python
class Solution:
def searchBST(self, root: TreeNode, val: int) -> TreeNode:
if root is None:
return None
if val < root.val: return self.searchBST(root.left, val)
elif val > root.val: return self.searchBST(root.right, val)
else: return root
```
迭代法:
```python
class Solution:
def searchBST(self, root: TreeNode, val: int) -> TreeNode:
while root is not None:
if val < root.val: root = root.left
elif val > root.val: root = root.right
else: return root
return root
```
Go