leetcode 28. Implement strStr()

来源:互联网 发布:网络代理打鱼怎么判 编辑:程序博客网 时间:2024/06/07 16:13

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

原创粉丝点击