找子串
最后更新于:2022-04-02 04:22:00
[TOC]
## 问题:
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1
## 解答
### 暴力解法
golang
```
func strStr(haystack string, needle string) int {
n := len(needle)
if n==0 {
return 0
}
for i := 0; i < len(haystack)-n+1; i++ {
if haystack[i:i+n] == needle {
return i
}
}
return -1
}
```
### KMP 算法
KMP 算法为字符窜匹配算法
';