我的思路:将有效的字符存起来(不包含符号和空格),之后判断是否为回文序列
class Solution {
public:
bool isPalindrome(string s) {
if(s.size()<2)
return true;
vector<char> input;
for(int i=0; i<s.size(); i++)
{
if((s[i]>47)&&(s[i]<58))
input.push_back(s[i]);
if((s[i]>64)&&(s[i]<91))
input.push_back(s[i]);
if((s[i]>96)&&(s[i]<123))
input.push_back(s[i]-32);
}
if(input.size()<2)
return true;
for(int i=0; i<input.size()/2+1; i++)
{
if(input[i]!=input[input.size()-1-i])
return false;
}
return true;
}
};
写的时候发现原来A--Z和a--z的ASCII并不连着。。。在这个题中数字也是有效的,所以不能只对字母进行处理