Input: "babad"
Output: "bab"
Note: "aba" is also a valid answer.
Input: "cbbd"
Output: "bb"
class Solution {
public:
string longestPalindrome(string s) {
int res_left = 0;
int res_right = 0;
if (s.size() < 2) return s;
for(int i=0; i<=s.size()-1;i++){
// 奇数长度子串
int left = i-1;
int right = i+1;
while(s[left] == s[right] && left >= 0 && right <= s.size()-1){
left--; right++;
}
if((right-left-2) > (res_right-res_left)){
res_right = right-1;
res_left = left+1;
}
// 偶数长度子串
right = i+1;
left = i;
while(s[left] == s[right] && left >= 0 && right <= s.size()-1){
left--; right++;
}
if((right-left-2) > (res_right-res_left)){
res_right = right-1;
res_left = left+1;
}
}
return s.substr(res_left, (res_right-res_left+1));
}
};