[LeetCode]Implement strStr()
Implement strStr().
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
执行两次遍历即可。算法复杂度在最坏的情况下不会超过O(mn)。
class Solution {
public:
bool check(int t,string a,string b){
if(t + b.size() > a.size()) return false;
for(int i = 0; i < b.size(); i++){
if(b[i] != a[i+t]) return false;
}
return true;
}
int strStr(string haystack, string needle) {
int len1 = haystack.size(), len2 = needle.size();
if(len1<len2) return -1;
if(len2== 0) return 0;
for(int i = 0; i < len1; i++){
if(haystack[i] == needle[0]){
if(check(i,haystack,needle)) return i;
}
}
return -1;
}
};