码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-05-12 11:57:36      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:回文字符串   ||   mic   turn   targe   int   color   tco   bool   

给定一个非空字符串 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)]

标签:回文字符串   ||   mic   turn   targe   int   color   tco   bool   

原文地址:https://www.cnblogs.com/ZSY-blog/p/12874696.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!