import static sun.swing.MenuItemLayoutHelper.max;
/**
* 最长回文子串
*/
public class test {
public static void main(String[] args) {
System.out.println(longestPalindrome("asaa"));
}
public static String longestPalindrome(String s) {
if ("".equals(s) || s.length() <= 1) {
return s;
}
int len = 0;
int index = 0;
for (int i = 0; i < s.length() - 1; i++) {
int len1 = mmo(s, i, i);
int len2 = mmo(s, i, i + 1);
int lenMax = max(len1, len2);
if (lenMax > len) {
len = lenMax;
index = i;
}
}
String res;
if (len % 2 == 0) {
res = s.substring(index - (len / 2 -1), index + (len / 2) +1);
}else{
len = len -1;
res = s.substring(index - len / 2, index + len / 2 + 1);
}
return res;
}
public static int mmo(String s,int l, int r){
int left = l ;
int right = r;
int len = 0;
while(s.charAt(left) == s.charAt(right)) {
len = right - left + 1;
if (left <= 0 || right >= s.length() - 1){
break;
}
left = left - 1;
right = right + 1;
}
return len;
}
}