leetcode-125-验证回文串
string char_type(char input) {
if (input > 47 && input < 58) return "numbers";
else if (input > 64 && input < 91) return "LETTERS";
else if (input > 96 && input < 123) return "letters";
else return "others";
}
class Solution {
public:
bool isPalindrome(string s) {
if (s == "") return true;
int N = s.length();
int left = 0, right = N - 1;
while (left < right) {
while (char_type(s[left]) == "others") {
left++;
if (left >= right) return true;
}
while (char_type(s[right]) == "others") {
right--;
}
if (char_type(s[left]) == "letters") {
s[left] = s[left] - 32;
}
if (char_type(s[right]) == "letters") {
s[right] = s[right] - 32;
}
if (s[left] != s[right]) return false;
else {
left++;
right--;
}
}
return true;
}
};