题目:
解答1:
class Solution {
public String longestPalindrome(String s) {
int length = s.length();
if(length==0) return "";
char alpha[] = new char[length];
alpha = s.toCharArray();
char begin= alpha[0];
char end = begin;
String subStr = s.substring(0,1); //最大字串
int subLen = 1; //最大字串长度
for(int i=0;i<length-1;i++)
{
begin = alpha[i];
for(int j=i+1;j<length;j++)
{
end = alpha[j];
if(end==begin) //判断是否回文子串
{
int left=i,right=j;
Boolean flag = true;
while(flag && left<=right)
{
if(alpha[left++]!=alpha[right--])
{
flag=false;
}
}
if(flag && (j-i+1)>subLen)
{
subLen=j-i+1;
subStr=s.substring(i, j+1);
//System.out.println("len="+subLen+",str="+subStr);
}
}
}
}
return subStr;
}
}