【 快速寻找出一字符串内的最长回文子串 】
以abaaba为例
因为回文串也分为奇数长度与偶数长度的
所以回文子串的中心点可能是某个字符,也可能是某两个字符之间
所以算法先会预处理初始字符串,让每两个字符之间加一个原本不存在的特殊字符
即原串会先被处理为 #a#b#a#a#b#a#
然后为了防止数组越界,在左右两边再添加不同的特殊字符
左边加个@,右边直接 结束符
所以可见串会被处理成 @#a#b#a#a#b#a#
该部分代码为:
void initStr(){//重定义字符串
int k=0;
str[k++]='@';//开头加个特殊字符防止越界
for(int i=0;i<len;i++){
str[k++]='#';
str[k++]=s[i];
}
str[k++]='#';
len=k;
str[k]='