主要是想得到p数组
对于p[i]有,以i为中心的回文串起始坐标为(i-p[i])/2;长度为 p[i]-1;
#include<iostream> #include<string.h> #include<algorithm> using namespace std; char s[1000]; char s_new[2000]; int p[2000]; int Init() { int len = strlen(s); s_new[0] = '$'; s_new[1] = '#'; int j = 2; for (int i = 0; i < len; i++) { s_new[j++] = s[i]; s_new[j++] = '#'; } s_new[j] = '