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.
思路:子串匹配,朴素匹配。复杂度O(n2)。每次子串和模式串匹配失配时,子串的指针都回溯到子串的起点位置。
class Solution { public: int strStr(string haystack, string needle) { int l1=haystack.length(),l2=needle.length(); if(l1==0 && l2==0) return 0; int i,j; for(i=0;i<=l1-l2;i++) { for(j=0;j<l2;j++) { if(needle[j] != haystack[i+j]) break; } if(j==l2) return i; } return -1; } };
思路2:KMP算法匹配。