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.
class Solution(object):
def isPalindrome(self, s):
res = re.sub(r'\W', "", s)
res = res.lower()
return res == res[::-1]
# for i in s:
# # print ord('0')
# if ord(i) <= ord('z') and ord(i) >= ord('a'):
# res = res + i
# elif ord(i) <= ord('Z') and ord(i) >= ord('A'):
# res = res + chr(ord(i)+32)
# elif ord(i) >= ord('0') and ord(i) <= ord('9'):
# res =res + i
# print res[::-1]
# print res
# return res == res[::-1]