5最长回文子串
public class LongPalindromeLeetcode5 {
public static void main(String[] args) {
System.out.println(longestPalindrome("babad"));
}
static String longestPalindrome(String s){
left=0;
right=0;
char[] chars = s.toCharArray();
for(int i=0;i<chars.length-1;i++){
extend(chars,i,i);
extend(chars,i,i+1);
}
return new String(chars,left,right-left+1);
}
static int left;
static int right;
static void extend(char[] chars,int i,int j){
while(i>=0&&j<chars.length&&chars[i]==chars[j]){
i--;
j++;
}
//不等了才会退出循环,所以+1
i++;
j--;
if(j-i>right-left){
left=i;
right=j;
}
}
}