给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
例:
输入: "A man, a plan, a canal: Panama" 输出: true 解释:"amanaplanacanalpanama" 是回文串
解析:
去除大小写字母数字之外的所有字符,然后翻转判断
class Solution(object):
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
s = re.sub('[^a-zA-Z0-9]', '', s) # 正则表达式
s = s.lower() # 全部变成小写,因为题目中不分大小写
return s == s[::-1] # 正反判断