28. Implement strStr()

Description

Implement strStr().

Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

Input: haystack = "hello", needle = "ll"
Output: 2
Input: haystack = "aaaaa", needle = "bba"
Output: -1

Solution

  • 穷举遍历
    实现string的strStr(),借助于substr方法,能AC
int strStr(string haystack, string needle) {
    int len1 = haystack.size(), len2 = needle.size();
    if (len1 < len2) {
        return -1;
    }
    for (int i = 0; i < len1 - len2 + 1; ++i) {
        if (haystack.substr(i, len2) == needle) {
            return i;
        }
    }
    return -1;
}
  • KMP算法

你可能感兴趣的:(28. Implement strStr())