标签:package string ++ 解答 indexof 位置 .com ase etc
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
示例 1:
输入: haystack = "hello", needle = "ll" 输出: 2
示例 2:
输入: haystack = "aaaaa", needle = "bba" 输出: -1
说明:
当 needle
是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。
对于本题而言,当 needle
是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。
这道题不是太难,简单的暴力匹配就好。
package main import ( "fmt" ) func strStr(haystack string, needle string) int { index := -1 var i, j, k int if len(needle) == 0 { index = 0 } for i = 0; i < len(haystack); i++ { for j, k = 0, i; j < len(needle) && k < len(haystack); j, k = j+1, k+1 { if needle[j] != haystack[k] { //不匹配,退出循环 break } } if j == len(needle) { //匹配完成,退出循环 index = i break } } return index } func main() { haystack := "aaa" needle := "a" fmt.Println(strStr(haystack, needle)) }
golang刷Leetcode系列 --- 实现strStr()
标签:package string ++ 解答 indexof 位置 .com ase etc
原文地址:https://www.cnblogs.com/dennis-wong/p/9532299.html