class Solution {
public:
int mx;
int Si, Ei;
string longestPalindrome(string s) {
if(s.length() == 0) return "";
Si = 0;
Ei = 1;
for(int i = 0; i < s.length(); i++){
countPalindrome(s, i, i);
if(i + 1 < s.length()){
countPalindrome(s, i, i + 1);
}
}
return s.substr(Si, Ei - Si);
}
void countPalindrome(string &s, int i, int j){
while(i >= 0 && j < s.length()){
if(s[i] == s[j]){
i--;
j++;
}else{
break;
}
}
if(Ei - Si < j - i - 1){
Si = i + 1;
Ei = j;
}
}
};