2021-11-30 680. 验证回文字符串 Ⅱ【Easy】

2021-11-30  本文已影响0人  JackHCC

给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。

示例 1:

输入: s = "aba"
输出: true

示例 2:

输入: s = "abca"
输出: true
解释: 你可以删除c字符。

示例 3:

输入: s = "abc"
输出: false

提示:

1 <= s.length <= 10^5
s 由小写英文字母组成

方法一:

class Solution:
    def validPalindrome(self, s: str) -> bool:
        l = 0
        r = len(s) - 1
        while l < r:
            if s[l] != s[r]:
                return isPalindrome(s, l+1, r) or isPalindrome(s, l, r-1)
            else:
                l += 1
                r -= 1
        return True


def isPalindrome(s, l, r):
    while l < r:
        if s[l] != s[r]: return False
        else:
            l += 1
            r -= 1

    return True
上一篇 下一篇

猜你喜欢

热点阅读