每日一题-Day12-最长回文字串
Posted 2月2日
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题-Day12-最长回文字串相关的知识,希望对你有一定的参考价值。
class Solution {
public String longestPalindrome(String s) {
if(s.equals("")) return s;
String org = s;
String reverse = new StringBuffer(s).reverse().toString(); //倒转之后的字符串
int length=org.length();
int[][] arr = new int[length][length];
int arrLength = 0; //最长公共字串长度
int end=0; //结束位置的下标
for(int i=0;i<length;i++){
for(int j=0;j<length;j++){
if(org.charAt(i)reverse.charAt(j)){
if(i0||j0){
arr[i][j]=1;
}else{
arr[i][j]=arr[i-1][j-1]+1;
}
}
if(arr[i][j]>arrLength){
int flag = length-j-1;
if(flag+arr[i][j]-1i){
arrLength=arr[i][j];
end=i;
}
}
}
}
return org.substring(end-arrLength+1,end+1);
}
}
以上是关于每日一题-Day12-最长回文字串的主要内容,如果未能解决你的问题,请参考以下文章