class Solution {
public:
string longestPalindrome(string s) {
if (s.size() == 1 || s.size() == 0) return s;
int min_start=0, max_len=0, new_len = 0;
int i = 0;
for (i = 0; i<s.size(); )
{
if (s.size() - i <= max_len / 2) break;
int j=i, k = i;
while (k<s.size() - 1 && s[k + 1] == s[k]) k++; //跳过重复值
i = k + 1; //下一次循环的位置
while (j >0 && k<s.size() - 1 && s[j - 1] == s[k + 1]) {
k++;
j--;
} //向左右扩展
new_len = k - j + 1;
if (new_len>max_len)
{
min_start = j;
max_len = new_len;
}
}
return s.substr(min_start, max_len);
}
};
5. Longest Palindromic Substring
最新推荐文章于 2024-01-20 11:35:01 发布