上一题第四题有一定难度,先跳过,后续复盘再来,第一遍为了应对保研机试和打好基础,先刷简单题和中等题
这题也有很多高级方法,我先用我第一时间想到的朴素方法A掉,后续再来优化吧
class Solution {
public:
string longestPalindrome(string s) {
string res;
for(int i = 0;i < s.size();i ++){
//这是长度为奇数情况
int l = i - 1, r = i + 1;
while(l >= 0 && r < s.size() && s[l] == s[r]) l--,r++;
if(res.size()<r-l-1) res = s.substr(l + 1,r - l - 1);
//这是长度为偶数情况
l = i, r = i + 1;
while(l >= 0 && r < s.size() && s[l] == s[r]) l--,r++;
if(res.size()<r-l-1) res = s.substr(l + 1,r - l - 1);
}
return res;
}
};