1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
""" 判断字符串是否回文 https://leetcode.com/problems/valid-palindrome/ """ class : def isPalindrome(self, s: str) -> bool: if len(s) <= 1: return True start = 0 end = len(s) - 1 s = s.lower() while start < end: if not s[start].isalnum(): start += 1 elif not s[end].isalnum(): end -= 1 else: if s[start] != s[end]: return False start += 1 end -= 1 return True
if __name__ == '__main__': s = Solution() assert s.isPalindrome("A man, a plan, a canal: Panama") == True assert s.isPalindrome("race a car") == False
|
近期评论