680. 验证回文字符串 Ⅱ

给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。

示例 1:
输入: "aba"
输出: True

示例 2:
输入: "abca"
输出: True
解释: 你可以删除c字符。

题解

/**
 * @param {string} s
 * @return {boolean}
 */
var validPalindrome = function(s) {
    let t=s.split('')
    s=s.split('')
    let num=0
    for(let i=0;i<Math.floor(s.length/2);i++){
        if(s[i]!=s[s.length-1-i]){
            s.splice(i,1)
            i--
            num++
        }
        if(num>1){
            num=0
            for(let j=i;j<Math.floor(t.length/2);j++){
                if(t[j]!=t[t.length-1-j]){
                    t.splice(t.length-1-j,1)
                    j--
                    num++
                }
                if(num>1){
                    return false
                }
            }
            break
        }

    }
    return true
};

发表评论

您的电子邮箱地址不会被公开。