class Solution:
def validPalindrome(self, s: str) -> bool:
if s == s[::-1]:
return True
for i in range(len(s)):
newS = s[:i] + s[i + 1:]
if newS == newS[::-1]:
return True
return Falseclass Solution:
def validPalindrome(self, s: str) -> bool:
l, r = 0, len(s) - 1
while l < r:
if s[l] != s[r]:
skipL = s[l + 1 : r + 1]
skipR = s[l : r]
return skipL == skipL[::-1] or skipR == skipR[::-1]
l, r = l + 1, r - 1
return Trueclass Solution:
def validPalindrome(self, s: str) -> bool:
def is_palindrome(l, r):
while l < r:
if s[l] != s[r]:
return False
l += 1
r -= 1
return True
l, r = 0, len(s) - 1
while l < r:
if s[l] != s[r]:
return (is_palindrome(l + 1, r) or
is_palindrome(l, r - 1))
l += 1
r -= 1
return True