主要是加了一个tolower把大写变小写,剩下判断就是中间对换比较了。
bool isPalindrome(char * s){
if(s == ' ')return 1;
int len = strlen(s);
char *str = (char *)malloc(len*sizeof(char));
int i;
int j = 0;
for(i = 0;i < len;i++){
if((s[i]>='0'&&s[i]<='9')||(s[i]>='a'&&s[i]<='z')) str[j++]=s[i];
else if(s[i]>='A'&&s[i]<='Z') str[j++]=tolower(s[i]);
else continue;
}
for(int i = 0;i < j/2;i++){
if(str[i] != str[j-i-1]) return 0;
}
return 1;
}