这道题挺简单的,但是没有考虑到 “a” 和 “a” 比较的情况,疏忽了 。
func strStr(haystack string, needle string) int {if len(needle) == 0 {return 0}haystackBytes := []byte(haystack)needleBytes := []byte(needle)for i := 0; i <= len(haystackBytes) - len(needleBytes); i++ {match := truefor j, nc := range needleBytes {if nc != haystack[i + j] {match = falsebreak}}if match {return i}}return -1}func main() {fmt.Println(strStr("hello", "ll"))fmt.Println(strStr("aaaaa", "bba"))fmt.Println(strStr("hello", ""))fmt.Println(strStr("bba", "aaaaa"))fmt.Println(strStr("a", "a"))}
