Skip to content

Latest commit

 

History

History
43 lines (35 loc) · 814 Bytes

16_字符串_680. 验证回文串 II.md

File metadata and controls

43 lines (35 loc) · 814 Bytes

-- 字符串 - easy

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

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

示例 1:

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

示例 2:

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

//  双指针
var validPalindrome = function (s) {
    let left = 0
    let right = s.length - 1
    while (left < right) {
        if (s[left] != s[right]) {
            return compare(s, left + 1, right) || compare(s, left, right - 1)
        }
        left++
        right--
    }
    return true
};

function compare(str, l, r) {
    while (l < r) {
        if (str[l] != str[r]) {
            return false
        }
        l++
        r--
    }
    return true
}