125验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

说明:本题中,我们将空字符串定义为有效的回文串。

示例 1:

输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:

输入: "race a car"
输出: false

刚看到这道题时我非常疑惑,连回文串是什么都不知道,于是就只能依靠度娘了,查过之后恍然大悟,这也不是很难嘛。
我解决这道题的思路是:首先用正则表达式把非字母和数字的字符给删除掉,只剩下字母和数字,然后判断剩下的字符是否正向和反向一模一样。
代码:

class Solution:
    def isPalindrome(self, s: str) -> bool:
        s = s.lower()
        s = re.sub('[^0-9a-z]','',s)
        n = len(s)
        for i in range(0,n//2):
            if s[i] != s[n-i-1]:
                return False
        return True
        

提交代码之后一看结果我都惊呆了,超过了100%的Python3提交记录,难道其他人没做过这道题?还是系统出现了bug?哈哈哈,反正还是很开心的,拿下回文串,我们下一题再见!!!

125验证回文串_第1张图片
Selection_054.png

你可能感兴趣的:(125验证回文串)