LeetCode 0028

来源:互联网 发布:阿里云中央仓库 编辑:程序博客网 时间:2024/06/05 14:41

28.Implement strStr()

原题链接

我的思路:

直接写个暴力

最快解法的代码:

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

大家都是暴力,为什么这个会快一点。。。我只能认为,可能是之后加过测试用例了吧。。因为我看有个也是9ms的代码,跟这份代码的做法是一样的。我拿着最快的代码交了一发,发现确实达不到最快的速度。总的来说,反正都是用的暴力,常数差一点也不是什么大事。不过显然需要补一补其他字符串匹配的算法。