1.最长回文子串
最长回文子串_牛客题霸_牛客网
算法思路:
使用中心扩散算法,枚举所有的中点,向两边扩散,一个中点需要枚举两次,一次当回文串是奇数另一次回文串是偶数的情况。
class Solution {
public:int getLongestPalindrome(string A) {int n = A.size();int ret = 1;// 特殊处理 只有一个字符的情况for(int i = 1; i < n; i++){//当回文字串是偶数时int left = i - 1;int right = i;while(left >= 0 && right < n && A[left] == A[right]){ret = max(ret, right - left + 1);left--;right++;}//奇数情况left = i - 1;right = i + 1;while (left >= 0 && right < n && A[left] == A[right]) {ret = max(ret, right -left + 1);left--;right++;} }return ret;}
};