13最长回文子串
最长回文子串
给你一个字符串 s,找到 s 中最长的 回文 子串。
示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。示例 2:
输入:s = "cbbd"
输出:"bb"提示:
1 <= s.length <= 1000s仅由数字和英文字母组成
public String longestPalindrome(String s) {
char[] charArray = s.toCharArray();
int len = charArray.length;
boolean[][] dp = new boolean[len][len];
int maxL = 0;
int maxR = 0;
for (int i = 0; i < len; i++) {
for (int j = 0; j <=i; j++) {
if(charArray[i] == charArray[j] && (i-j <2 || dp[j+1][i-1])){
dp[j][i] = true;
if (i-j>maxR-maxL) {
maxR = i;
maxL = j;
}
}
}
}
StringBuilder builder = new StringBuilder();
for (int i = maxL; i <=maxR ; i++) {
builder.append(charArray[i]);
}
return builder.toString();
}13最长回文子串
https://jiajun.xyz/2026/02/26/算法/14动态规划/13最长回文子串/