最简单的方法是对字符串 s 进行一次遍历,并将其中的字母和数字字符进行保留,然后和翻转的字符串进行比较。
- 使用函数过滤字符串
class Solution:
def isPalindrome(self, s: str) -> bool:
# 将字符串转成小写并过滤其中的字母和数字
s = ''.join(filter(str.isalnum, s.lower()))
# 判断翻转后的字符串和原来是否相同
return s == s[::-1]- 使用正则表达式过滤字符串
class Solution:
def isPalindrome(self, s: str) -> bool:
# 将字符串转成小写并使用正则表达式过滤其中的字母和数字
s = re.sub(r'[^a-z0-9]', '', s.lower())
# 判断翻转后的字符串和原来是否相同
return s == s[::-1]