LeetCode 680. 验证回文字符串 Ⅱ [Valid Palindrome II (Easy)]

Posted zsy-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 680. 验证回文字符串 Ⅱ [Valid Palindrome II (Easy)]相关的知识,希望对你有一定的参考价值。

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

技术图片

来源:力扣(LeetCode)

 

回文字符串,是指具有左右对称特点的字符串,例如 "abcba" 就是一个回文字符串。

这种判断方式刚好相当于一次跳过机会。

class Solution {
public:
    bool validPalindrome(string s) {
        
        for (int index1 = 0, index2 = s.size() - 1; index1 <= index2; ++index1, --index2)
        {
            if (s[index1] != s[index2])  //此处相当于一次跳过机会
                return isPalindrome(s, index1 + 1, index2) || isPalindrome(s, index1, index2 - 1);
        }
        return true;
    }

    bool isPalindrome(string s, int index1, int index2)
    {
        while (index1 <= index2)
        {
            if (s[index1++] != s[index2--])
                return false;
        }
        return true;
    }
};

 

以上是关于LeetCode 680. 验证回文字符串 Ⅱ [Valid Palindrome II (Easy)]的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 125. 验证回文串 && 680. 验证回文字符串 Ⅱ

LeetCode 680 验证回文字符串 Ⅱ 做题感悟

LeetCode 680. 验证回文字符串 Ⅱ

LeetCode 680. 验证回文字符串 Ⅱ [Valid Palindrome II (Easy)]

LeetCode 680. 验证回文字符串 Ⅱ [Valid Palindrome II (Easy)]

680. 验证回文字符串 Ⅱ