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

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

作者: JackHCC | 来源:发表于2021-11-30 15:56 被阅读0次

给定一个非空字符串 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

相关文章

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/keedxrtx.html