class Solution {
public:
int getLongestPalindrome(string str, int n) {
// write code here
//双指针,从中间进行扩散向两边
int res = 0;
for(int i = 0; i < n; i++){
//奇数的情况 即是本位置不看
int l = i - 1, r = i + 1;
while(l >= 0 && r < n && str[l] == str[r]) l--, r++;
res = max(res, r - l - 1); // [l + 1, r - 1]
//偶数的情况 本位置也要看
l = i, r = i + 1;
while(l >= 0 && r < n && str[l] == str[r]) l--, r++;
res = max(res, r - l - 1);
}
return res;
}
};
京公网安备 11010502036488号