题解 | #最长回文子串#dp切记倒着遍历!
最长回文子串
https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.nextLine();
boolean dp[][] = new boolean[s.length()][s.length()];
for(int i = 0;i<s.length();i++){
dp[i][i] = true;
}
int ans = Integer.MIN_VALUE;
for(int i = s.length() - 1; i >= 0;i--){
for(int j = i+1; j < s.length();j++){
if(s.charAt(i) == s.charAt(j)){
if(i+1==j){
dp[i][j] = true;
}else{
if(dp[i+1][j-1])
dp[i][j] = true;
}
}
if(dp[i][j])
if(j-i + 1> ans){
ans = j-i+1;
}
}
}
System.out.println(ans);
}
}


