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.
Difficulty:Easy
bool is(string hay, string nee, int i)
{
if(hay.length()-i<nee.length())
return false;
for(int j = 0; j<nee.length();j++)
{
if(nee[j]!=hay[i])
return false;
i++;
}
return true;
}
int strStr(string haystack, string needle) {
int len = haystack.length();
if(len<needle.length())
return -1;
if(needle.length()==0)
return 0;
for(int i= 0;i<len-needle.length()+1;i++)
{
if(haystack[i]==needle[0])
if(is(haystack,needle,i)==true)
return i;
}
return -1;
}