Easy Two Pointers Solution

class Solution {
public:
bool validPalindrome(string s) {
int ptr1 = 0, ptr2 = s.size()-1;
int flag = 0;
while(ptr1<=ptr2)
{
if(s[ptr1]!=s[ptr2])
{
flag = 1;
break;
}
ptr1++;
ptr2--;
}
string s1 = s, s2 = s;
if(flag == 0)
return true;
s1.erase(ptr1,1);
s2.erase(ptr2,1);
cout<<s1<<" "<<s2<<"\n";
flag = 0;
int ptr11 = 0, ptr22 = s1.size()-1;
while(ptr11<=ptr22)
{
if(s1[ptr11]!=s1[ptr22])
{
flag = 1;
break;
}
ptr11++;
ptr22--;
}
if(flag == 0)
return true;
int ptr111 = 0, ptr222 = s2.size()-1;
flag = 0;
while(ptr111<=ptr222)
{
if(s2[ptr111]!=s2[ptr222])
{
flag = 1;
break;
}
ptr111++;
ptr222--;
}
if(flag == 0)
return true;
else
return false;

}

};

Comments (0)