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.
class Solution {
public:
int strStr(char *haystack, char *needle) {
const int m = strlen(haystack);
const int n = strlen(needle);
if (m < n) {
return -1;
}
for (int i = 0; i < m - n + 1; i++) {
int j = 0;
int p = i;
for (; j < n; j++, p++) {
if (needle[j] != haystack[p]) {
break;
}
}
if (j == n) {
return i;
}
}
return -1;
}
};