题目描述
判断一个字符串是否为回文。回文是指正读和反读都相同的字符串。忽略大小写和非字母字符。
示例
输入:s = "A man, a plan, a canal: Panama"
输出:True(清理后为 "amanaplanacanalpanama",是回文)
提示
Python 的字符串切片 s[::-1] 可以快速反转字符串,只需比较原串和反转串即可。
参考答案
def is_palindrome(s):
"""判断字符串是否为回文"""
# 清理字符串:只保留字母,转为小写
cleaned = ''.join(c.lower() for c in s if c.isalpha())
return cleaned == cleaned[::-1]
# 测试
print(is_palindrome("racecar")) # True
print(is_palindrome("A man, a plan, a canal: Panama")) # True
print(is_palindrome("hello")) # False