Skip to content

Latest commit

 

History

History
30 lines (21 loc) · 850 Bytes

File metadata and controls

30 lines (21 loc) · 850 Bytes

题解

方法一:筛选 + 判断

最简单的方法是对字符串 s 进行一次遍历,并将其中的字母和数字字符进行保留,然后和翻转的字符串进行比较。

  1. 使用函数过滤字符串
class Solution:
    def isPalindrome(self, s: str) -> bool:
        # 将字符串转成小写并过滤其中的字母和数字
        s = ''.join(filter(str.isalnum, s.lower()))
        # 判断翻转后的字符串和原来是否相同
        return s == s[::-1]
  1. 使用正则表达式过滤字符串
class Solution:
    def isPalindrome(self, s: str) -> bool:
        # 将字符串转成小写并使用正则表达式过滤其中的字母和数字
        s = re.sub(r'[^a-z0-9]', '', s.lower())
        # 判断翻转后的字符串和原来是否相同
        return s == s[::-1]