Implement strStr()
题目描述:
Implement strStr().
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
Update (2014-11-02):
The signature of the function had been updated to return the index instead of the pointer. If you still see your function signature returns a char *
or String
, please click the reload button to reset your code definition.
solution:
int strStr(string haystack, string needle) { if(needle.empty()) return 0; if(haystack.size() < needle.size()) return -1; for (int i = 0;i < haystack.size();++i) { if (haystack[i] == needle[0]) { string s(haystack,i,needle.size()); if(s == needle) return i; } } return -1; }
这是一个字符串匹配的题目。上述解法是暴力破解,还存在诸如KMP等高端解法,以后有空再研究吧。