mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 08:50:15 +08:00
update 0700.二叉搜索树中的搜索: 修改 go 的迭代法
This commit is contained in:
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
## 思路
|
## 思路
|
||||||
|
|
||||||
之前我们讲了都是普通二叉树,那么接下来看看二叉搜索树。
|
之前我们讲的都是普通二叉树,那么接下来看看二叉搜索树。
|
||||||
|
|
||||||
在[关于二叉树,你该了解这些!](https://programmercarl.com/二叉树理论基础.html)中,我们已经讲过了二叉搜索树。
|
在[关于二叉树,你该了解这些!](https://programmercarl.com/二叉树理论基础.html)中,我们已经讲过了二叉搜索树。
|
||||||
|
|
||||||
@ -269,13 +269,13 @@ class Solution:
|
|||||||
```go
|
```go
|
||||||
//递归法
|
//递归法
|
||||||
func searchBST(root *TreeNode, val int) *TreeNode {
|
func searchBST(root *TreeNode, val int) *TreeNode {
|
||||||
if root==nil||root.Val==val{
|
if root == nil || root.Val == val {
|
||||||
return root
|
return root
|
||||||
}
|
}
|
||||||
if root.Val>val{
|
if root.Val > val {
|
||||||
return searchBST(root.Left,val)
|
return searchBST(root.Left, val)
|
||||||
}
|
}
|
||||||
return searchBST(root.Right,val)
|
return searchBST(root.Right, val)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -284,13 +284,13 @@ func searchBST(root *TreeNode, val int) *TreeNode {
|
|||||||
```go
|
```go
|
||||||
//迭代法
|
//迭代法
|
||||||
func searchBST(root *TreeNode, val int) *TreeNode {
|
func searchBST(root *TreeNode, val int) *TreeNode {
|
||||||
for root!=nil{
|
for root != nil {
|
||||||
if root.Val>val{
|
if root.Val > val {
|
||||||
root=root.Left
|
root = root.Left
|
||||||
}else if root.Val<val{
|
} else if root.Val < val {
|
||||||
root=root.Right
|
root = root.Right
|
||||||
}else{
|
} else {
|
||||||
break
|
return root
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
Reference in New Issue
Block a user