描述
给你一个文本串S,一个非空模板串T,问S在T中出现了多少次
数据范围:
1 \le len(S) \le 5*10^5, 1 \le len(T) \le 10^61≤len(S)≤5∗105,1≤len(T)≤106
复杂度要求:
O(n \cdot m) \O(n⋅m)
示例1
输入:
"ababab","abababab"
复制返回值:
2
复制
示例2
输入:
"abab","abacabab"
复制返回值:
1
public int kmp (String S, String T) {
int length = S.length();
int i = T.length()-length;
int count = 0;
while(i>=0){
String temp = T.substring(i,length+i);
if(temp.equals(S)){
count++;
}
i--;
}
return count;
}