题目
判断是否是回文
Input: "A man, a plan, a canal: Panama"
Output: true
分析
题目并不是很难,难点在于处理字符串去除里面的符号和空格。
首先可以考虑用 isalnums()
方法:
str.isalnum() // 如果字符串只由数字和字母组is成,返回True
str.isalpha() // 如果只由字母组成,返回True
其次,也也可以考虑用正则表达式:
str.re.sub(r"[^a-zA-Z0-9]", "",str)
注意,这里还要用lower()
将大写转为小写.
代码
class Solution:
def isPalindrome(self, s: str) -> bool:
s = ''.join(e.lower() for e in s if e.isalnum())
return s == s[::-1]
// 反转列表也可以用reversed()
网友评论