Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,"A man, a plan, a canal: Panama"
is a palindrome."race a car"
is not a palindrome.
Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.
For the purpose of this problem, we define empty string as valid palindrome.
1 class Solution: 2 def isPalindrome(self, s): 3 """ 4 :type s: str 5 :rtype: bool 6 """ 7 if s==‘‘: 8 return True 9 import re 10 x = re.sub(‘\W‘,‘‘,s).lower() 11 if x==‘‘: 12 return True 13 if(len(x)%2!=0):#数 14 for i in range(int(len(x)/2)+1): 15 if(x[i]!=x[len(x)-i-1]): 16 return False 17 else: 18 for i in range(int(len(x)/2)+1): 19 if(x[i]!=x[len(x)-i-1]): 20 return False 21 return True 22