您的位置:首页 > 其它

求解最长回文子串的长度

2016-06-07 11:57 363 查看
直接上代码:

class Palindrome {
public:
int getLongestPalindrome(string A, int n) {
// write code here
int rs=1;
string str="#";
for(int i=0;i<n;i++){
str+=A[i];
str+="#";
}
for(int j=1;j<str.size();j++)
{
int temp=1,start=j-1,end=j+1;
while(end<=str.size()&&start>=0){
if(str[end]==str[start]){
end++;
start--;
temp++;
}
else
break;
}
if(temp>rs)
rs=temp;
}
return rs-1;
}
};

以上是我实现的,当然对于这一题有专门的算法来解决,即:Manacher算法,其原理我感觉有点复杂,这里先提出来,以备以后温习多看几遍。(其原理和源代码这里不再给出,百度一大片)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  回文