题目
代码
class Solution {
public:
bool isPalindrome(string s) {
string res;
for(int i=0;i<s.size();i++)
{
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')||(s[i]>='0'&&s[i]<='9'))
res.push_back(s[i]);
}
transform(res.begin(),res.end(),res.begin(),::tolower);
auto str=res;
reverse(res.begin(),res.end());
if(res==str)
{
return true;
}
return false;
}
};
思路
由于题目只判断字母数字,所以把他们取出来并且把字母全都转换成小写。然后获得其逆转的字符串,两者进行比较是否相等即可判断是否是回文。