每日一题-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(i
0||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]-1
i){
arrLength=arr[i][j];
end=i;
}
}
}
}
return org.substring(end-arrLength+1,end+1);
}
}

以上是关于每日一题-Day12-最长回文字串的主要内容,如果未能解决你的问题,请参考以下文章

leetcode每日一题:409. 最长回文串

笔试强训之每日一题

每日一题-Day10-无重复最长字串

每日一题 错选择 及 编程题 周总结

LeetCode每日一题2020.7.04 32. 最长有效括号

《LeetCode之每日一题》:65.最长回文子串