Leetcode-680(回文字符串)
Posted mustardseed
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode-680(回文字符串)相关的知识,希望对你有一定的参考价值。
1.题目
可以删除一个字符,判断是否能构成回文字符串。:
Input: "abca" Output: True Explanation: You could delete the character ‘c‘.
2.代码实现:
class Solution(object): def validPalindrome(self, s): """ :type s: str :rtype: bool """ p1, p2 = 0, len(s) - 1 while p1 < p2: if s[p1] != s[p2]: # 舍弃左字符 a = s[p1 + 1: p2 + 1] # 舍弃右字符 b = s[p1:p2] # 判断是否为回文字符串 return a[::-1] == a or b[::-1] == b p1 += 1 p2 -= 1 return True
3.注意事项:
1.切片的使用 左闭后开,也就是说右边的值取不到
2.这里用while判断,是因为无法确定循环的次数,return都是结束循环的条件
3.回文数 a=a[::-1]
以上是关于Leetcode-680(回文字符串)的主要内容,如果未能解决你的问题,请参考以下文章