方法一:暴力破解
class Solution {
public String longestPalindrome(String s) {
if(s.length()<2)
{
return s;
}
//最长长度
int maxLen=0;
//保留索引坐标
String ans ="";
for(int i=0;i<s.length()-1;i++)
{
for(int j=i+1;j<=s.length();j++)
{
String str=s.substring(i,j);
//判断该子串是否为回文子串
if(isPalindrome(str) && j-i>maxLen)
{
maxLen=j-i;
ans=s.substring(i,j);
}
}
}
return ans;
}
//判断子串是否为回文数
public boolean isPalindrome(String str)
{
int right=str.length()-1;
// while(left<right)
// {
// if(str.charAt(left)!=str.charAt(right))
// {
// return false;
// }
// left++;
// right--;
// }
for(int left=0;left<str.length();left++)
{
if(left<right && str.charAt(left)!=str.charAt(right))
{
return false;
}
right--;
}
return true;
}
}
运行结果: