题目链接

考虑当前点为中心点计算奇数和偶数长度的字符串是回文串的可能结果,返回最长的回文子串即可。
class Solution {
public:
string longestPalindrome(string s) {
string ans="";
int len = s.size();
for(int i = 0; i < len; i++){
int l = i-1, r = i+1;
while(l >= 0 && r < len && s[l] == s[r]) l--, r++;
if(ans.size() < r-l-1) ans = s.substr(l+1, r-l-1);
l = i, r = i+1;
while(l >= 0 && r < len && s[l] == s[r]) l--, r++;
if(ans.size() < r-l-1) ans = s.substr(l+1, r-l-1);
}
return ans;
}
};
该博客探讨了一个编程问题,即如何在给定字符串中找到最长的回文子串。提供的C++代码实现通过以每个字符为中心,分别检查奇数长度和偶数长度的回文串来找到最长的回文部分。算法使用了双指针技术来减少复杂性。
2794

被折叠的 条评论
为什么被折叠?



