给你一个字符串 s,找到 s 中最长的
回文子串。
示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:
输入:s = "cbbd"
输出:"bb"
class Solution {
public:
string longestPalindrome(string s) {
int n=s.size();
if(n<2)
{
return s;
}
int start=0;
int end=0;
for(int i=0;i<n;i++)
{
int left=i;
int right=i;
while(left>=0&&right<n&&s[left]==s[right])
{
if(right-left+1>end-start+1)
{
end=right;
start=left;
}
left--;
right++;
}
left=i;
right=i+1;
while(left>=0&&right<n&&s[left]==s[right])
{
if(right-left+1>end-start+1)
{
end=right;
start=left;
}
left--;
right++;
}
}
return s.substr(start,end-start+1);
}
};
标签:子串,right,end,start,回文,最长,left
From: https://www.cnblogs.com/donghao99/p/18206639