Valid Palindrome

https://app.gitbook.com/s/-M33ghpQv0ZbnP8UX-Qg/7.two-pointers/125.-valid-palindrome-e IsPalindrome LongestPalindrome as second variation which returns the longest palindrome in a given string or an array of strings if there are multiple of the same length.

2道找回文:2.1 在句子里忽略特殊符号大小写找回文;2.2在句子里找出所有同样长度且最长的回文, 按照原来的格式输出(保留特殊符号大小写)

class Solution {
    public boolean isPalindrome(String s) {
        
        s = s.toLowerCase();
        int left = 0;
        int right  = s.length()-1;
        while(left< right)
        {
            while(left < s.length() && !isValid(s.charAt(left)))
            {
                left++;
            }
            while(right > 0 && !isValid(s.charAt(right)))
            {
                right--;
            }
            
            if(left < right && s.charAt(left) != s.charAt(right) )
            {
                return false;
            }
            left++;
            right--;
        }
        return true;
        
    }
    
    public boolean isValid(char c)
    {
        return Character.isLetter(c) || Character.isDigit(c);
    }
}

Followup: similar as LC 5: Longest Palindromic Substring

return all longest palindrome in a string

Last updated