125. 验证回文串

mac2024-03-10  26

难度:简单 题目描述: 思路总结:我的思路很简单直接,就是先转换为小写,然后两头指针循环进行判断,时间复杂度O(n*62),应该还是O(n)。开销主要是判断是否是字母数字这个函数isalnum()。题解二给看一个前0.1%的大神一行写法。 题解一:

class Solution: def isPalindrome(self, s: str) -> bool: s = s.lower() l,r = 0,len(s)-1 while l < r: while l < r and not s[l].isalnum(): l += 1 while l < r and not s[r].isalnum(): r -= 1 if s[l] != s[r]: return False else: l += 1 r -= 1 return True

题解一结果: 题解二:

class Solution: def isPalindrome(self, s: str) -> bool: pureStr = ''.join(filter(str.isalnum, s)).lower() return pureStr == pureStr[::-1]

题解二结果:32ms,超过了99.9%。但是我提交后发现才56ms,应该是新增加了一些测试用例。

最新回复(0)