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. 验证回文字符串 Ⅱ [Valid Palindrome II (Easy)]