680 leetcode 验证回文字符串

题目描述:
在这里插入图片描述
思路:
首先判断回文字符串,如果出现不相等的字符时,先删除左边的字符,如果还出现不相等的字符时,返回删除点,删除右边的字符,如果还是出现不相等的字符时,返回false,反之返回true;

代码如下:

class Solution {
public:
    bool validPalindrome(string s) {
        int i=0,j=s.size()-1;
        int flag=0;
        int num1=0,num2=0;
        while(i<j){
            if(s[i]!=s[j]){
                flag++;
                if(flag==1){
                    num1=i;
                    num2=j;
                    i++;}
                if(flag==2){
                    i=num1;
                    j=num2;
                    j--;}
                if(flag==3)
                return false;}
            if(s[i]==s[j]){
                i++;
                j--;}
        }
        return true;
    }
};
发布了123 篇原创文章 · 获赞 0 · 访问量 968

猜你喜欢

转载自blog.csdn.net/peachzy/article/details/104210691
今日推荐