给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
class Solution:
def isPalindrome(self, s: str) -> bool:
s_list = []
if s=='':
return True
for e in s:
if e.isalnum():
s_list.append(e.lower())
if len(s_list)==1:
return True
else:
i=0
j=len(s_list)-1
while i<=j:
if s_list[i]==s_list[j]:
i+=1
j-=1
else:
return False
return True
# if __name__=='__main__':
# s = input()
# solution=Solution()
# print(solution.isPalindrome(s))
第二种简便方法:
def isPalindrome(s: str) -> bool:
string = ''
for i in s:
if i.isalnum():
string += i
string1 = string.upper()
if string1 == string1[::-1]:
return True
return False