Skip to content
On this page

680. 验证回文字符串 ⅱ

原题链接:LeetCode 680. 验证回文字符串 ⅱ

题目描述

给你一个字符串 s最多 可以从中删除一个字符。

请你判断 s 是否能成为回文字符串:如果能,返回 true ;否则,返回 false

示例 1:

**输入:**s = "aba" **输出:**true

示例 2:

**输入:**s = "abca" **输出:**true **解释:**你可以删除字符 'c' 。

示例 3:

**输入:**s = "abc" **输出:**false

提示:

1 <= s.length <= 105
- `s` 由小写英文字母组成

难度: Easy


题解代码

javascript
var validPalindrome = function (s, count = 0) {
  let left = 0, right = s.length - 1
  while (left < right) {
    if (s[left] !== s[right]) {
      if (count > 0) return false
      return validPalindrome(s.slice(left + 1, right + 1), count + 1) || validPalindrome(s.slice(left, right), count + 1)
    } else {
        left++
        right--
    }
  }
  return true
}

技术文档集合