03. Check If a String is a Palindrome or not

Link

bool checkPalindrome(string s)
{
  int p1 = 0, p2 = s.length() - 1;
  while(p1 < p2) {
    while(!isalpha(s[p1]) && !isdigit(s[p1]) && p1 < p2)
      p1++;
  
    while(!isalpha(s[p2]) && !isdigit(s[p2]) && p1 < p2)
      p2--;
    
    if(tolower(s[p1++]) != tolower(s[p2--]))
      return false;
  }
  return true;
}

Last updated