塞进裤子ヾ(≧O≦)〃嗷~

0%

leetcode-125验证回文串

最初想法:
去除字符串中的标点空格,两个游标分别从首尾开始比较。

难点在于怎么trim字符串.

str.isalnum() 方法检测字符串是否由字母和数字组成。

如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution(object):
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
trimstr = ""
for ch in s:
if ch.isalnum():#如果是字母或数字
print(ch)
trimstr += ch.lower()

return trimstr == trimstr[::-1]

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

1
filter(function, iterable)

function – 判断函数。 iterable – 可迭代对象。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表

1
2
3
4
5
6
7
8
9
class Solution(object):
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
s = ''.join(filter(str.isalnum,s)).lower()

return s==s[::-1]
if help:小手一抖点个广告 or 大手一挥资助一下