最近一段时间都没怎么更新文章
实在是抱歉
上个星期一直在写专利
然后周末我的大学同学和高中同学都过来了
所以真的是没心思写文章了
Ps:说了这么多其实就是想为自己找个理由
不过上个周末是真的玩累了
每天2万步以上
中餐晚餐都是硬核大餐
吃得我是撑爆了
也许,这正如我康哥说的那样:
我就是一过穷逼日子的命
哈哈哈哈哈哈哈哈
直接上两张图
125-验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
思路:
这一题的干扰因子无非就是非数字和字母的字符了,比如空格,标点符号。既然这些都是无用信息,那我们留它干甚?直接把它们给去掉组合成一新的字符串就可进行判断了。这儿补充;两个关于python字符串的常用函数:isdigit()用于判断当前字符串是否为数字;isalpha()用于判断当前字符串是否为字母。
代码如下:
class Solution(object):
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
s_list = list(s)
new_s_list = [index.lower() for index in s_list if index.isalpha() or index.isdigit()]
return True if new_s_list == new_s_list[: : -1] else False
if __name__ == "__main__":
s = "A man, a plan, a canal: Panama"
result = Solution().isPalindrome(s)
print(result)
执行效率在50%左右。中等!