Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.python
For example,"A man, a plan, a canal: Panama"
is a palindrome."race a car"
is not a palindrome.git
class Solution(object): def check(self, s): if s.isdigit() or s.isalpha(): return True return False def isPalindrome(self, s): """ :type s: str :rtype: bool """ s = s.lower() if not s or not s.strip(): return True i, j = 0, len(s) - 1 while i < j: while i < j and not self.check(s[i]): i += 1 while i < j and not self.check(s[j]): j -= 1 if s[j] != s[i]: return False i += 1 j -= 1 return True