135-125. 驗證迴文串
阿新 • • 發佈:2021-01-08
給定一個字串,驗證它是否是迴文串,只考慮字母和數字字元,可以忽略字母的大小寫。(第二個不是我寫的其他的都兩個是我寫的) class Solution(object): def isPalindrome1(self, s): """ :type s: str :rtype: bool """ length = len(s) i = 0 j = length - i - 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(): return False j -= 1 i += 1 return True def isPalindrome2(self, s): """ :type s: str :rtype: bool """ s = s.lower() result = ''.join(filter(str.isalnum, s)).lower() return result == result[::-1] def isPalindrome(self, s): """ :type s: str :rtype: bool """ i = 0 j = 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(): return False j -= 1 i += 1 return True if __name__ == '__main__': s = Solution() s1 = ".," print(s.isPalindrome(s1))