5. Longest Palindromic Substring
class Solution {
public:
string longestPalindrome(string s) {
if(s.size() == 1){
return s;
}
int len=s.size();
int max_left,left,right,max_len=1;
for(int start =0; start<len && len-start>max_len/2;){
left=right=start;
while(s[right]==s[right+1] && right<len-1){ // Skip duplicate characters.
right++;
}
start=right+1;
while(s[left-1]==s[right+1] && left>0 && right<len-1){
left--;
right++;
}
if(max_len<right-left+1){
max_left=left;
max_len=right-left+1;
}
}
return s.substr(max_left,max_len);
}
};