class Solution {
public:
bool isPalindrome(string s) {
int p1=0,p2;
int l=s.length();
string s1;
for(int i=0;i<l;i++)
{
if(int(s[i])>=int('A')&&int(s[i])<=int('Z'))
s1.push_back(s[i]+(int('a')-int('A')));
else if(int(s[i])>=int('a')&&int(s[i])<=int('z'))
s1.push_back(s[i]);
else if(int(s[i])>=int('0')&&int(s[i])<=int('9'))
s1.push_back(s[i]);
}
p2=s1.length()-1;
if(s1.length()==1)
return true;
while(p2-p1>=1)
{
if(s1[p1]!=s1[p2])
return false;
p2--;
p1++;
}
return true;
}
};
先筛选,再双指针,也可以用反转函数,对比反转前后字符串
也可以直接双指针