class Solution {
public:
bool isCharAndNum(char &c){
if(c >= '0' && c <= '9') return true;
if(c >= 'A' && c <= 'Z') {
c += 32;
return true;
}
if(c >= 'a' && c <= 'z') return true;
return false;
}
bool isPalindrome(string s) {
int left = 0;
int right = s.size() - 1;
while(left <= right){
while(left < s.size() && !isCharAndNum(s[left]))
left++;
while(right >= 0 && !isCharAndNum(s[right]))
right--;
if(left <= right && s[left] != s[right]) return false;
left++;
right--;
}
return true;
}
};
以上是AC代码
这道题思路很简单
只需要注意把空格 各种符号去除就可以了