给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
Posted q-1993
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。相关的知识,希望对你有一定的参考价值。
public String longestPalindrome(String s) { if(s == null||s.length()==0){ return s; } String res = ""; int max=0; boolean[][] dp = new boolean[s.length()][s.length()]; //res=s.substring(0, 1); for(int j = 0;j < s.length();j++){ for(int i=0;i<=j;i++){ dp[i][j] = (s.charAt(i) == s.charAt(j)) && (((j - i + 1) <= 2) || dp[i+1][j-1]); if (dp[i][j] && (j-i+1)>max){ max = j-i+1; res = s.substring(i, j+1); } } } return res; } }
以上是关于给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。的主要内容,如果未能解决你的问题,请参考以下文章