public boolean isPali(String s) {
int i = 0;
int j = s.length()-1;
while (i<j) {
if (s.charAt(i) != s.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
public String longestPalindrome(String s) {
String result = "";
int max = 0;
for (int i = 0;i<s.length();i++) {
for (int j = i+1;j<=s.length();j++) {
String s1 =s.substring(i,j);
if (isPali(s1)&&s1.length()>max){
max = s1.length();
result = s.substring(i,j);
}
}
}
return result;
}
此处用暴力解法,两个循环遍历所有可能,如果当前字符串是回文并且比之前的回文字符串长,就替换长度和最终结果,最后返回结果。