// 枚举所有的中⼼点,然后向两边扩散
class Solution
{
public:
int getLongestPalindrome(string A)
{
int ret = 1;
// 如果字符串长度为奇数
for(int i = 1; i < A.size(); i++)
{
int len = 1;
int left = i - 1, right = i + 1;
while(left >= 0 && right < A.size() && A[left] == A[right])
{
ret = max(right - left + 1, ret);
left--;
right++;
}
// 如果字符串长度为偶数
left = i - 1, right = i;
while(left >= 0 && right < A.size() && A[left] == A[right])
{
ret = max(right - left + 1, ret);
left--;
right++;
}
}
return ret;
}
};

京公网安备 11010502036488号