题目描述:
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例 1:
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
示例 2:
输入: "cbbd"
输出: "bb"
首先可以使用暴力法,将该字符串的每个子串都得到,然后再在所有子串中找到最长的回文子串。
实现代码如下:
public class 最长回文子串暴力法求解 {
public static String longestPalindrome(String str) {
if(str==null || str.length()<=1) {
return str;
}
String res="";
//遍历字符串
for(int i=0;i<str.length();i++) {
for(int j=0;j<str.length()-i;j++) {
//截取子串
String tmp=str.substring(j, j+i+1);
//进行判断并更新子串
if(tmp.length()>res.length()&&isPalindromeStr(tmp)) {
res=tmp;
}
}
}
return res;
}
//判断是否是回文串
public static boolean