题目
思路
因为要考虑大小写问题和符号的问题,要用到两个方法:
isalnum()方法,判断字符串里面是否只包含数字和字母。
lower()方法,将字符串中的所有大写字母替换为小写。(或者用upper()方法,全部转化为大写)
放到一个新数组里面反转比较即可:
str[::-1]
代码
class Solution(object):
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
new = []
for ch in s:
if ch.isalnum(): ##判断是否为数字或者字母
new.append(ch.upper()) ##转化为大写以后加到new里面
return new == new[::-1] ##反转并比较