题解 | #最长回文子串#
最长回文子串
http://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A string字符串
* @return int整型
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
int getLongestPalindrome(char* A ) {
// write code here
int len = strlen(A), max = 1;
if(len == 0)return 0;
for(int i = 0; i < len-1; i++){
int t = i, k = i+1;
if(A[t] == A[k]){
while(t >= 0 && k < len && A[t] == A[k]){
t--;
k++;
}
if(k-t-1 > max){
max = k-t-1;
}
}
}
for(int i = 1; i < len-1; i++){
int t = i-1, k = i+1;
while(t >= 0 && k < len && A[t] == A[k]){
t--;
k++;
}
if(k-t-1 > max){
max = k-t-1;
}
}
return max;
}