class Solution {
public:
string longestPalindrome(string s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int i, j;
int left, right;
int max;
int len = s.size();
int t;
left = 0;
right = 0;
max = 0;
string res;
for (i = 0; i + (max / 2) < len; i++) {
t = 1;
for (j = 1; j < len; j++) {
if (i - j < 0 || i + j >= len) {
break;
}
if (s[i - j] == s[i + j]) {
t += 2;
} else {
break;
}
}
if (t > max) {
max = t;
left = i - j + 1;
right = i + j - 1;
}
t = 0;
for (j = 0; j < len; j++) {
if (i - j - 1 < 0 || i + j >= len) {
break;
}
if (s[i -j - 1] == s[i + j]) {
t += 2;
} else {
break;
}
}
if (t > max) {
max = t;
left = i - j;
right = i + j - 1;
}
}
res.assign(s, left, max);
return res;
}
};
Longest Palindromic Substring
最新推荐文章于 2024-10-11 23:48:39 发布