给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"算法:暴力枚举(分回文串的长度为奇数还是偶数,滚动求最长值)
class Solution {
public:
string longestPalindrome(
string s) {
string b;
int k=
0;
int len =
0;
for(k=
0; k<s.size(); k++
){
int i=k, j=k+
1;
while(i>=
0&&j<s.size()&&s[i]==s[j])i--,j++
;
if(j-i-
1>
len){
len=j-i-
1;
b=s.substr(i+
1,len);
}
i=k-
1, j=k+
1;
while(i>=
0&&j<s.size()&&s[i]==s[j])i--,j++
;
if(j-i-
1>
len){
len=j-i-
1;
b=s.substr(i+
1,len);
}
}
return b;
}
};
转载于:https://www.cnblogs.com/programyang/p/11149243.html