https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af?tpId=182&tqId=34752&ru=/exam/oj
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A string字符串
* @return int整型
*/
int getLongestPalindrome(string A) {
// 中心扩展算法
int n = A.size();
int ret = 0;
// 枚举中心点
for (int i = 0; i < n; ++i) {
// 当长度为奇数的时候
int left = i - 1, right = i + 1;
while (left >= 0 && right < n && A[left] == A[right]) {
left--;
right++;
}
ret = max(ret, right - left - 1);
// 当长度为偶数的时候
left = i, right = i + 1;
while (left >= 0 && right < n && A[left] == A[right]) {
left--;
right++;
}
ret = max(ret, right - left - 1);
}
return ret;
}
};