bool isPalindrome(string s) {
int left = 0, right = s.length()-1;
while (left <= right)
{
char leftChar = s[left];
if (!((leftChar >= '0' && leftChar <= '9')||(leftChar >= 'a' && leftChar <= 'z')||(leftChar >= 'A' && leftChar <= 'Z')))
{
left++;
continue;
}
char rightChar = s[right];
if (!((rightChar >= '0' && rightChar <= '9')||(rightChar >= 'a' && rightChar <= 'z')||(rightChar >= 'A' && rightChar <= 'Z')))
{
right--;
continue;
}
int differ = abs(int(leftChar - rightChar));
if (differ == 0 || differ == 32)
{
left++;
right--;
}
else
{
return false;
}
}
return true;
}