Use two pointers to compare letters from head and tail. And ignore none-alpha-num letter.
class Solution:
def isPalindrome(self, s: str) -> bool:
i, j = 0, len(s) - 1
while i < j:
while i < j and not s[i].isalnum():
i += 1
while i < j and not s[j].isalnum():
j -= 1
if i < j and s[i].lower() != s[j].lower():
break
i += 1
j -= 1
return i >= j
No comments:
Post a Comment