# 最长回文子串
# 动态规划
# [i+1]=[j-1]
public static String longestPalindrome(String s){
boolean[][] dp=new boolean[s.length()][s.length()];
int res=1;
String resStr=s.charAt(0)+"";
for (int i = s.length()-1; i >=0; i--) {
for (int j = i; j < s.length(); j++) {
if(s.charAt(i)==s.charAt(j)&&(j-i<=1||dp[i+1][j-1])) {
dp[i][j]=true;
if(j-i+1>res) {
res=j-i+1;
resStr=s.substring(i,j+1);
}
}
}
}
return resStr;
}