先贴个代码,这是leetcode提交答案里最快的代码了,膜拜膜拜。
public class Solution {
char[] ss;
int left=0, max=1;
public String longestPalindrome(String s) {
ss=s.toCharArray();
if(ss.length<1) return "";
for(int i=0; i<ss.length; i++){
i=update(i);
}
return s.substring(left, left+max);
}
private int update(int index){
int ll=index, rr=index;
while(rr+1<ss.length && ss[rr]==ss[rr+1]){
rr++;
}
int temp=rr;
while(rr+1<ss.length && ll-1>=0 && ss[rr+1]==ss[ll-1]){
rr++;
ll--;
}
if(rr-ll+1>max){
max=rr-ll+1;
left=ll;
}
return temp;
}
}
至于我,就很菜了。