LeetCode(125)验证回文段
(125)验证回文段 Description: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 **说明:**本题中,我们将空字符串定义为有效的回文串。 示例1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例2: 输入: "race a car" 输出: false 思路: 其实整体思路也是首先将str过滤为只含有数字和字母,再将其全部大写/小写。最后检验其是否为回文段。 对于字符串过滤,目前想到三种方法: 使用 filter 来过滤无效字符, 但没搞清楚如何既保留字母也保留数字 只需要使用 str.isalnum 。(需要注意的是, filter 所返回的是一个generator,即惰性迭代对象,需要使用*list()*来将其转化为list,再使用str.join()来append再string的后面) 最无脑的方法,遍历string,将符合要求的append在某空string上。 使用re.findall()来过滤。需要复习 正则表达式 如果使用C的话,使用stack 使用双指针夹逼 代码: 使用*re.findall()*来进行过滤操作: #44ms class Solution : def isPalindrome ( self , s : str ) - > bool : import