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.
难度系数:
容易
实现
bool isSub(char *str, char *sub)
{
int len = strlen(sub);
for (int i = 0; i < len; ++i)
{
if (str[i] != sub[i])
return false;
}
return true;
}
int strStr(char *haystack, char * needle) {
int hlen = strlen(haystack);
int nlen = strlen(needle);
if (hlen == nlen && isSub(haystack, needle)) {
return 0;
}
for (int i = 0; i < hlen - nlen + 1; ++i) {
if (isSub(haystack+i, needle))
return i;
}
return -1;
}