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