125.验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,忽略大小写。空字符串有效。
输入: "A man, a plan, a canal: Panama"
输出: true
class Solution:
def isPalindrome(self, s: str) -> bool: # 左右双指针
start, end = 0, len(s) - 1 # 头指针和尾指针
while start < end: # isalnum() 方法检测字符串是否由字母和数字组成
if not s[start].isalnum(): # 头指针从头找,找到第一个数字或字符
start += 1
continue
if not s[end].isalnum(): # 尾指针从尾找,找到最后一个数字或字符
end -= 1
continue
if s[start].lower() != s[end].lower():
return False # 比较两者是否相同,不同就return False
else: # 相同则两指针往中间靠
start += 1
end -= 1
return True # 当 start > end的时候,return True