class : defisPalindrome(self, s: str) -> bool: ifnot s: returnTrue n = len(s) i, j = 0, n-1 s = s.lower() while i<j: while i<n andnot s[i].isalnum(): i+=1 while j>=0andnot s[j].isalnum(): j-=1 if i<=j and s[i] != s[j]: returnFalse i+=1 j-=1 returnTrue
2.翻转
判断翻转后的字符串与原来是是否一致,空间复杂度是 O(n) 。具体实现过程如下:
1 2 3 4 5
class : defisPalindrome(self, s: str) -> bool: s = s.lower() s = ''.join([t for t in s if t.isalnum()]) return s == s[::-1]
近期评论