思路:
暴力匹配法
1.遍历haystack
2.循环判断haystack[j]== needle[k]
3.输出return i (而不是return j 因为i是发现haystack[j]== needle[k]的首位置,j是匹配后最后一个位置)
代码:
class Solution {
public:
int strStr(string haystack, string needle) {
if(needle.empty()) return 0;
const int N=haystack.size()-needle.size() +1;
for(int i=0;i<N;i++)
{
int j=i;
int k=0;
while(j<haystack.size() && k<needle.size() && haystack[j]== needle[k])
{
j++;
k++;
}
if(k==needle.size()) return i;
}
return -1;
}
};
Every step of barefoot running deserves to be recorded