Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,
"A man, a plan, a canal: Panama"
is a palindrome.
"race a car"
is not a palindrome.
class Solution(object):
def check(self, s):
if s.isdigit() or s.isalpha():
return True
return False
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
s = s.lower()
if not s or not s.strip():
return True
i, j = 0, len(s) - 1
while i < j:
while i < j and not self.check(s[i]):
i += 1
while i < j and not self.check(s[j]):
j -= 1
if s[j] != s[i]:
return False
i += 1
j -= 1
return True
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有