题目描述
思路分析
枚举/暴搜
枚举回文子串的中心点。再分两种情况:偶数长和奇数长的回文串,从中间往两边枚举。
代码实现
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(r-l-1>res.size()) res=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(r-l-1>res.size()) res=s.substr(l+1,r-l-1);
}
return res;
}
};