leetcode 28. Implement strStr()

Implement strStr().

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

解:KMP算法挺难理解的,看了几遍记住之后,做到这题只记得大体的思路但是算法细节有不理解了,先来个brute-force算法压压惊,再去看看KMP。

brute-force算法

class Solution {
public:
    int strStr(string haystack, string needle) {
        int len1 = haystack.length();
        int len2 = needle.length();
        if(!len2) return 0;
        for(int i = 0; i < len1 - len2 + 1; ++i){
            for(int j = 0; j < len2; ++j){
                if(haystack[i + j] != needle[j]) break;
                if(j == len2 - 1) return i;
            }
        }
        return -1;
    }
};
TODO:KMP

你可能感兴趣的:(LeetCode)