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]
原文地址:https://www.cnblogs.com/Mustardseed/p/12665974.html
时间: 2024-10-05 23:25:05