Longest Palindromic Substring
class Solution {
public String longestPalindrome(String s) {
int n = s.length();
if(n==0)
return "";
if(n==1)
return s;
String sub = s.substring(0,1);
int max=1;
for(int i=0;i<n;i++){
int step=1;
while(i-step>=0 && i+step<=n-1 && s.charAt(i-step)==s.charAt(i+step)){
step++;
}
step--;
if((2*step+1)>max){
max=2*step+1;
sub=s.substring(i-step,i+step+1);
}
if(i<n-1 && s.charAt(i)==s.charAt(i+1)){
step=1;
while(i-step>=0 && i+1+step<=n-1 && s.charAt(i-step)==s.charAt(i+1+step)){
step++;
}
step--;
if((2*step+2)>max){
max=2*step+2;
sub=s.substring(i-step,i+1+step+1);
}
}
}
return sub;
}
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-60959.html