给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。
本题中,将空字符串定义为有效的 回文串 。
示例 1:
输入: s = “A man, a plan, a canal: Panama”
输出: true
解释:“amanaplanacanalpanama” 是回文串
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/XltzEq
class Solution(object):
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
result = []
s = s.lower()
for i in s:
num = ord(i) - ord('a')
if 0<=num<26 or -49<=num<=-40:
result.append(i)
left, right = 0, len(result)-1
while left < right:
if result[left] == result[right]:
left += 1
right -= 1
else:
return False
return True
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
result = []
s = s.lower()
for i in s:
num = ord(i) - ord('a')
if 0<=num<26 or -49<=num<=-40:
result.append(i)
if result == result[::-1]:
return True