实现 strStr() 函数。
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
class Solution {
public:
int strStr(string haystack, string needle) {
if(needle=="")
return 0;
std::string::iterator iter1,iter2=needle.begin();
int i =0 ;
for(iter1 = haystack.begin(); iter1 != haystack.end(); ++iter1)
{
if((*iter1)==(*iter2))
{
if(iter2==needle.begin())
i = iter1-haystack.begin();
if(iter2==(needle.end()-1))
return i;
++iter2;
}
else
{
if(iter2!=needle.begin())
iter1 = haystack.begin()+i;
iter2=needle.begin();
}
}
return -1;
}
};