#include <string> using std::string; #include <cctype> class Solution { public: bool isPalindrome(string s) { for (auto b = s.cbegin(), e = std::prev(s.cend()); b < e; ++b, --e) { while (!isalnum(*b)) ++b; while (!isalnum(*e)) --e; if (b < e && tolower(*b) != tolower(*e)) return false; } return true; } };