暴力解法
解题思路:
遍历所有的回文子串,同时把最大的回文子串的下标赋值个a和b,方便后面来打印最长回文子串。
class Solution {
public String longestPalindrome(String s) {
//得到字符串的长度
int y =s.length();
//声明一个char类型的数组长度为字符串的长度
char[] charArray =new char[y];
//把字符串全部复值给char类型的数组
for (int j =0;j<y;j++){
charArray[j]=s.charAt(j);
}
int a=1;
int b=0;
//两个for循环来求出所有回文子串
for (int h=0;h<y-1;h++){
for (int k=h+1;k<y;k++){
//遍历所有的子串同时判断最大回文子串
if (k-h+1>a && huiwen(charArray,h,k)){
a=k-h+1;
b=h;
}
}
}
//返回最大的回文子串
String io="";
for (int u=b;u<b+a;u++){
io += charArray[u];
}
return io;
}
//验证回文子串函数
public boolean huiwen(char[] charArray,int o,int p){
while(o<p){
if (charArray[o]!=charArray[p]){
return false;
}
o++;
p--;
}
return true;
}
}