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;
        }
    }
}

results matching ""

    No results matching ""