↓ Skip to main content
  1. Science/
  2. Computer/

0125.Valid Palindrome

Solution

class Solution:
    def isPalindrome(self, s: str) -> bool:
        i, j = 0, len(s) - 1
        while i < j:
            if not s[i].isalnum():
                i += 1
            elif not s[j].isalnum():
                j -= 1
            elif s[i].lower() != s[j].lower():
                return False
            else:
                i, j = i + 1, j - 1
        return True


# ----------------本地测试----------------
if __name__ == "__main__":
    sol = Solution()
    print(sol.isPalindrome("A man, a plan, a canal: Panama")) # True
    print(sol.isPalindrome("race a car")) # False
    print(sol.isPalindrome("")) # True
    print(sol.isPalindrome(" ")) # True