-
题目链接 https://leetcode-cn.com/problems/online-stock-span/submissions/
-
题目描述
- 给定一个非空字符串
s
,最多删除一个字符。判断是否能成为回文字符串。 -
示例 1:
输入: "aba" 输出: True
示例 2:
输入: "abca" 输出: True 解释: 你可以删除c字符。
- 给定一个非空字符串
-
解题思路
- 双指针法:维护左指针i, 右指针j。两边向中间夹,当遇到不相等字符串 判读i+1 到j 或是 i 到 j - 1是否回文
-
代码
- python
class Solution: def validPalindrome(self, s: str) -> bool: # 是否为回文字符串 def is_vaild(s, i,j): while i <= j and s[i] == s[j]: i, j = i + 1, j - 1 return i > j i, j = 0, len(s) - 1 while i <= j: if s[i] != s[j]: # 如果不相等 就左指针进一下,或指针进一下 return is_vaild(s, i+1, j) or is_vaild(s, i, j-1) i, j = i+1, j-1 return True
- python
leetcode 680. 验证回文字符串 Ⅱ
猜你喜欢
转载自blog.csdn.net/qq_38043440/article/details/89232090
今日推荐
周排行