5. Longest Palindromic Substring

class Solution {
    int p0=0;
    int p1=0;
    public String longestPalindrome(String s) {
        for (int i=0; i<s.length(); i++){
            checkPalindrome(s, i, i);
            checkPalindrome(s, i, i+1);
        }

        return s.substring(p0+1,p1);
    }
    
    private void checkPalindrome(String s, int i, int j){
        while(i>=0 && j<s.length() && s.charAt(i)==s.charAt(j)){
            i--;
            j++;
        }
        if(j-i>p1-p0){
            p0=i;
            p1=j;
        }
    }
}

Last updated