1 class Solution { 2 public: 3 string preProcess(string s) { 4 string result; 5 for (int i = 0; i < s.size(); i++) { 6 if ((s[i] >= 'a' && s[i] <= 'z') || 7 (s[i] >= '0' && s[i] <= '9')) { 8 result += s[i]; 9 } else if (s[i] >= 'A' && s[i] <= 'Z') { 10 result += s[i] - 'A' + 'a'; 11 } 12 } 13 return result; 14 } 15 bool isPalindrome(string s) { 16 s = preProcess(s); 17 int start = 0, end = s.size()-1; 18 while(start < end) { 19 if (s[start++] != s[end--]) return false; 20 } 21 return true; 22 } 23 };