电脑系统做的好的网站/绍兴seo推广公司
假设我们有一个包含字母数字值和符号的字符串。也有小写和大写字母。我们仅通过考虑小写字母(将大写字母转换为小写字母)来检查字符串是否形成回文,其他符号(例如逗号,空格)将被忽略。
假设字符串像“一个人,一个计划,一条运河:巴拿马”,那么考虑这些规则,它将是“ amanaplanacanalpanama”。这是回文。
为了解决这个问题,请遵循以下步骤-定义x =“”
读取str中的每个字符c-如果c是小写字母或数字,则将c附加到x
否则c是一个大写字母,然后将其简单地转换为小写并在x之后追加
如果x是回文,则返回True,否则返回False
示例
让我们看一下实现以获得更好的理解class Solution(object):
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
x = ""
diff = ord('a') - ord('A')
for i in s:
if ord(i)>=ord('a') and ord(i)<=ord('z') or ord(i)>=ord("0") and ord(i)<=ord("9"):
x+=i
elif ord(i)>=ord('A') and ord(i)<=ord('Z'):
i = chr(diff+ord(i))
x+=i
#print(s)
#print(x)
return x == x[::-1]
ob1 = Solution()print(ob1.isPalindrome("A Man, a Plan, a Canal: Panama"))
输入值s = "A Man, a Plan, a Canal: Panama"
输出结果true