中心开花方法:
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A string字符串
* @return int整型
*/
int help1(string A,int i){ //当回文串长度是奇数时
int l=i-1,r=i+1;
while(l>=0&&r<A.size()&&A[l]==A[r]) l--,r++;
return r-l-1;
}
int help2(string A,int i,int j){
while(i>=0&&j<A.size()&&A[i]==A[j]) i--,j++;
return j-i-1;
}
int getLongestPalindrome(string A) { //当回文串长度是偶数时
// write code here
int i,x,y,res=0;
for(i=0;i<A.size();i++){
x=help1(A,i);
res=max(res,x);
if(i<A.size()-1) y=help2(A,i,i+1),res=max(res,y);
}
return res;
}
};