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等高端解法,以后有空再研究吧。

原文地址:https://www.cnblogs.com/gattaca/p/4500667.html