LeetCode125. Valid Palindrome
程序员文章站
2024-03-06 21:51:44
...
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
Note: For the purpose of this problem, we define empty string as valid palindrome.
Example 1:
Input: "A man, a plan, a canal: Panama"
Output: true
Example 2:
Input: "race a car"
Output: false
<思路>python的isalnum()很好用。
从字符串两端开始比较,如果不是字母则向下比较,直到遍历字符串。
class Solution(object):
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
l=0
r=len(s)-1
s = s.lower()
while l<r:
while r>l and not s[l].isalnum():
l += 1
while r>l and not s[r].isalnum():
r -= 1
if s[l] != s[r]:
return False
l += 1
r -= 1
return True