class Solution {
public:
int expandAroundCenter(const string& s, int left, int right) {
while (left >= 0 && right < s.length() && s[left] == s[right]) {
left--;
right++;
}
return right - left - 1;
}
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A string字符串
* @return int整型
*/
int getLongestPalindrome(string A) {
// write code here
// 中心扩展法
if (A.empty()) return 0;
int maxLen = 1;
for (int i = 0; i < A.length(); ++i) {
// 以 s[i] 为中心的奇数长度回文串
int len1 = expandAroundCenter(A, i, i);
// 以 s[i] 和 s[i + 1] 为中心的偶数长度回文串
int len2 = expandAroundCenter(A, i, i + 1);
// 取最大值
maxLen = max({maxLen, len1, len2});
}
return maxLen;
}
};