[LeetCode] 680. Valid Palindrome II_Easy tag: Two Pointers
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] 680. Valid Palindrome II_Easy tag: Two Pointers相关的知识,希望对你有一定的参考价值。
Given a non-empty string s
, you may delete at most one character. Judge whether you can make it a palindrome.
Example 1:
Input: "aba" Output: True
Example 2:
Input: "abca" Output: True Explanation: You could delete the character ‘c‘.
Note:
- The string will only contain lowercase characters a-z. The maximum length of the string is 50000.
题目思路就是正常的用two pointers去遍历s, 然后如果有不一样的, 要么把l + = 1, 要么把r -= 1 , 然后如果这两个中有一个是palindrome, 那么就符合.
Code:
class Solution: def palindrome2(self, s): # len(s) >= 1 l, r = 0, len(s)-1 def helper(l, r, s): while l < r: if s[l] == s[r]: l += 1 r -= 1 else: return False return True while l <r: if s[l] == s[r]: l += 1 r -= 1 else: return helper(l+1, r, s) or helper(l, r-1, s) return True
以上是关于[LeetCode] 680. Valid Palindrome II_Easy tag: Two Pointers的主要内容,如果未能解决你的问题,请参考以下文章
[leetcode-680-Valid Palindrome II]
Leetcode 680: Valid Palindrome II
leetcode-680-Valid Palindrome II
Python 解LeetCode:680. Valid Palindrome II