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
相关的python代码:
class Solution:
# @param s, a string
# @return a boolean
def isPalindrome(self, s):
if s is "":
return True
s = filter(lambda c: c.isalpha() or c.isdigit(), s)
s = s.upper()
for i in range(len(s) / 2):
if s[i] != s[len(s) - i - 1]:
return False
return True