leetcode 最长回文子串

leetcode 最长回文子串_第1张图片
依次遍历每一个数组元素,以每个数组元素为中心,l–,r++检测是s[l]与s[r]是否相等,一旦出现不相等跳出循环,截取最后左右相等的数组。
区分回文长度的奇偶:aabaa和abba两种类型。

class Solution {
     
public:
    string longestPalindrome(string s) {
     
        string res;
        for(int i=0;i<s.size();i++){
     
            int l=i-1,r=i+1;
            while(l>=0&&r<s.size()&&s[l]==s[r]) l--,r++;
            if(res.size()<r-l-1) s.substr(l+1,r-l-1);

             l=i,r=i+1;
            while(l>=0&&r<s.size()&&s[l]==s[r]) l--,r++;
            if(res.size()<r-l-1) s.substr(l+1,r-l-1);
        }
        return res;
    }
};

你可能感兴趣的:(C++数据结构)