[string] longest palindromic substring
string longestPalindrome(string s) {
if(s.empty()) return "";
if(s.size() == 1) return s;
if(s.size() == 2 && s[0] == s[1]) return s;
int max_len = 1, start_pos = 0;
for(int i=0; i<s.size(); i++) {
int left = i, right = i;
while(left >= 0 && right < s.size()) {
if(s[left] == s[right]) {
if(max_len < right - left + 1) {
max_len = right - left + 1;
start_pos = left;
}
left--;
right++;
}
else break;
}
left = i;
right = i+1;
while(left >= 0 && right < s.size()) {
if(s[left] != s[right]) break;
if(max_len < right - left + 1) {
max_len = right - left + 1;
start_pos = left;
}
left--;
right++;
}
}
return s.substr(start_pos, max_len);
}