传递门:验证回文串
思路:
class Solution {
public:
bool check(char c)
{
return c>='0'&&c<='9' || c>='a'&&c<='z' || c>='A'&&c<='Z';
}
bool isPalindrome(string s) {
int i=0,j=s.size()-1;
while(i<j)
{
while(i<j && !check(s[i])) i++; //跳过不是字母或者数字
while(i<j && !check(s[j])) j--;
if(s[i]!=s[j] && s[i]!=(s[j]^32)) return false;//巧妙地将大小写转换后比较异同
i++,j--;
}
return true;
}
};