【leetcode】Python实现-125.验证回文串

125.验证回文串

描述

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。

示例1

输入: “A man, a plan, a canal: Panama”
输出: true

示例2

输入: “race a car”
输出: false

        if not s:
            return True
        def f(i):
            q = i.isalpha()
            if 48<=ord(i)<=57:
                p = 1
            else:
                p = 0
            return q or p
        l = list((filter(f, s)))
        s = ''.join(l)
        s = s.upper()
        return s[::] == s[::-1]

通过了,不过借助了外力。还是查询了如何判断字符串中的字母。使用str.isalpha()方法判断,而数字则使用ASCII码判断(其实这里可以用str.isdigit()来判断数字)python真的太高级。然后前天总结的filter()函数派上用场了哈哈哈。对于字符串转列表,列表转字符串的用法还需要再总结,每次使用都要现查,浪费时间。题目中还需要将字符统一转化为大写或小写。
别人的,两句话搞定。。。这大概就是刷题的意义吧。开开心心地终于通过了,然后发现别人只用两三行代码就解决了问题,啊哈哈哈哈,酸爽。

        s = list(filter(str.isalnum, s.lower()))
        return True if s == s[::-1] else False

总结:str.isalnum()方法检测字符串是否由字母和数字组成。
字符串转列表:
str.split(”)
列表转字符串:
s = ”.join(l)

你可能感兴趣的:(leetcode)