中心拓展算法
class Solution {
int begin = 0,end = 0;//全局变量
public String longestPalindrome(String s) {
int n = s.length();
for(int i=0;i<n;i++){
findPalindrome(s,i,i);//奇数长度回文串
findPalindrome(s,i,i+1);//偶数长度回文串
}
return s.substring(begin,end+1);
}
public void findPalindrome(String s,int left,int right){
while(left>=0&&right<s.length()){
if(s.charAt(left)==s.charAt(right)){
if((right-left)>(end-begin)) {
begin = left;
end = right;
}
--left;//从中心向两边延伸
++right;
}
else break;
}
}
}