5. 最长回文子串
Posted 潜行前行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5. 最长回文子串相关的知识,希望对你有一定的参考价值。
- 最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。
示例 1:
输入:s = “babad”
输出:“bab”
解释:“aba” 同样是符合题意的答案。
示例 2:
输入:s = “cbbd”
输出:“bb”
示例 3:
输入:s = “a”
输出:“a”
示例 4:
输入:s = “ac”
输出:“a”
class Solution {
public String longestPalindrome(String s) {
char[] arr = s.toCharArray();
boolean[][] dp = new boolean[arr.length][arr.length];
for(int i= 0; i < arr.length; i++){
dp[i][i] = true;
}
String res = String.valueOf(arr[0]);
for(int len = 1; len < arr.length ; len++){
for(int i= 0; i < arr.length - len; i++){
dp[i][i+len] = (len < 2 || dp[i+1][i+len-1]) && arr[i]==arr[i+len];
res = dp[i][i+len] ? s.substring(i,i+len+1) : res;
}
}
return res;
}
}
以上是关于5. 最长回文子串的主要内容,如果未能解决你的问题,请参考以下文章