valid-palindrome 发表于 2019-05-30 | 分类于 algorithm , leetcode | 阅读次数 | 12345678910111213141516171819202122232425262728"""判断字符串是否回文https://leetcode.com/problems/valid-palindrome/"""class Solution: 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 Trueif __name__ == '__main__': s = Solution() assert s.isPalindrome("A man, a plan, a canal: Panama") == True assert s.isPalindrome("race a car") == False Donate WeChat Pay Alipay