5.Longest Palindromic Substring
class Solution {
private int lo, hi;
public String longestPalindrome(String s) {
if(s.length()<2) return s;
for(int i =0 ; i<s.length()-1; ++i){
extendLength(s,i,i);//odd
extendLength(s,i,i+1);//even
}
return s.substring(lo,hi+1);
}
void extendLength(String s, int left, int right){
while(left>=0 && right<=s.length()-1 && s.charAt(left)==s.charAt(right)){
left--;
right++;
}
if(right-left-1 >hi-lo+1){
lo=left+1;
hi=right-1;
}
}
}