LeetCode 680. 验证回文字符串 Ⅱ

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

题目


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

示例 1:
输入: "aba"
输出: True
示例 2:
输入: "abca"
输出: True
解释: 你可以删除c字符。


注意:

字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。

解题思路

如果出现不对称,就检测缩减一个字符后的数组是否对称

class Solution:
    def validPalindrome(self, s: str) -> bool:
        # #常规解法(超出时间)
        # sList = list(s)
        # sLen = len(s)
        # if sList[:] == sList[::-1]:
        #     return True
        # for i in range(sLen):
        #     temp = sList.copy()
        #     temp.pop(i)
        #     if temp[:] == temp[::-1]:
        #         return True
        # return False
        #双指针
        left = 0
        right = len(s)-1
        while left < right:
            if s[left] == s[right]:
                left += 1
                right -= 1
            elif s[left+1:right+1] == s[left+1:right+1][::-1] or s[left:right] == s[left:right][::-1]:
                print(s[left+1:right+1])
                print(s[left:right])
                return True
            else:
                return False
        return True


目录
相关文章
|
2月前
|
存储 canal 算法
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
28 0
|
7月前
【Leetcode -680.验证回文串Ⅱ -693.交替位二进制数】
【Leetcode -680.验证回文串Ⅱ -693.交替位二进制数】
23 0
|
7月前
|
canal 算法
【Leetcode-121.买卖股票的最佳时机 -125.验证回文串】
【Leetcode-121.买卖股票的最佳时机 -125.验证回文串】
31 0
|
6月前
leetcode255. 验证前序遍历序列二叉搜索树
leetcode255. 验证前序遍历序列二叉搜索树
28 0
|
7月前
代码随想录Day17 LeetCode T98 验证二叉搜索树 T530 二叉搜索树的最小绝对差 T501 二叉搜索树中的众数 T236二叉搜索树的最近公共祖先
代码随想录Day17 LeetCode T98 验证二叉搜索树 T530 二叉搜索树的最小绝对差 T501 二叉搜索树中的众数 T236二叉搜索树的最近公共祖先
29 0
|
4月前
|
Go
golang力扣leetcode 98. 验证二叉搜索树
golang力扣leetcode 98. 验证二叉搜索树
16 0
|
4月前
|
测试技术
leetcode98验证二叉搜索树刷题打卡
leetcode98验证二叉搜索树刷题打卡
18 0
|
4月前
|
C++ Python
leetcode-98:验证二叉搜索树
leetcode-98:验证二叉搜索树
34 1
|
4月前
leetcode-125:验证回文串
leetcode-125:验证回文串
25 0
|
9月前
|
存储
LeetCode-393 UTF-8编码验证
LeetCode-393 UTF-8编码验证