找出最长对称回文子字符串
class Solution {
public String longestPalindrome(String s) {
if(s == null || s.length() < 1) return "";
int start = 0,end = 0;
for(int i=0;i<s.length();i++){
int len1 = helper(s,i,i);
int len2 = helper(s,i,i+1);
int maxLen = Math.max(len1,len2);
if(maxLen > end - start){
start = i - (maxLen - 1)/2;
end = i + maxLen/2;
}
}
return s.substring(start,end + 1);
}
public int helper(String s,int start,int end){
while(start>=0 && end < s.length() && s.charAt(start) == s.charAt(end)){
start--;
end++;
}
return end-start-1;
}
}