public class Solution {
public String longestPalindrome(String s) {
String result = "";
if(s.length() == 1) return s;
for(int i = 0; i<s.length()-1; i++){
String odd = helper(i,i,s);
String even = helper(i,i+1,s);
if(odd.length()>even.length()){
if(odd.length() > result.length()) result = odd;
}else{
if(even.length() > result.length()) result = even;
}
}
return result;
}
private String helper(int i, int j, String s){
if(i != j && s.charAt(i) != s.charAt(j)){
return "";
}
while(i-1>=0 && j+1<s.length() && s.charAt(i-1) == s.charAt(j+1)){
i--;
j++;
}
return s.substring(i,j+1);
}
}
go through while string, make every character possible middle character(odd or even) and search for max length.