状态转移方程:
边界条件:
public String longestPalindrome(String s) {
int n=s.length();
String res="";
boolean [][]dp=new boolean[s.length()][s.length()];
for(int l=0;l<n;l++){
for(int i=0;i+l<n;i++){
int j=i+l;
if(l==0){
dp[i][j]=true;
}
else if(l==1){
dp[i][j]=(s.charAt(i)==s.charAt(j));
}
else {
dp[i][j]=(s.charAt(i)==s.charAt(j)&&dp[i+1][j-1]);
}
if(dp[i][j]&&l+1>res.length()){
res=s.substring(i,i+l+1);
}
}
}
return res;
}