题意:两个字符串s、t,求s和t的最长的相同的前缀和后缀
思路:先求s的next数组,再求t的next数组(即代码中ex数组,此时不是自己与自己匹配,而是与s匹配),最后看ex[len2]即可(len2为串t的长度)。
#include#include #include using namespace std;#define MaxSize 50005int _next[MaxSize],ex[MaxSize];void GetNext(char t[]){ //求next数组 int j,k,len; j=0; k=-1; _next[0]=-1; len=strlen(t); while(j