我正在尝试解决这个 Leetcode 问题。我有这个代码:
class Solution:
def isPalindrome(self, s: str) -> bool:
palinString = s.replace (" ", "")
palinString = re.sub(r'[^a-zA-Z]', '', palinString)
palinString = palinString.lower()
print(palinString[0])
但是我收到一条错误消息:
Line 39 in <module> (Solution.py)
_driver()
Line 28 in _driver (Solution.py)
ret = Solution().isPalindrome(param_1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Line 6 in isPalindrome (Solution.py)
print(palinString[0])
~~~~~~~~~~~^^^
IndexError: string index out of range
似乎访问第一个元素有时有效,有时则无效。出了什么问题,如何解决?
你可以尝试这个代码,这是一个很好的方法,你可以逐行理解。
class Solution:
def isPalindrome(self, s: str) -> bool:
result = ''.join(i for i in s if i.isalnum())
st = result[::-1].lower()
if result.lower() == st:
return True