求一个字符串的前缀与另一个字符串的后缀的最大相同子串

求字符串ptr的前缀与str的后缀的最大相同子串,若不存在,输出0。

样例输入

mike
aniom

kiava
dvakia

dasds
fdsgh

样例输出

m 1
kia 3
0

分析:

先求字符串ptr的next数组,然后使用KMP算法求ptr的前缀与str后缀的最大相同子串

#include
#include
using namespace std;
const int maxn=1e5+10;
void cal_next(char* str,int* next,int len)
{
    next[0]=next[1]=0;
    for(int i=1;i

 

你可能感兴趣的:(KMP算法)