记忆常用字符函数
//如果是大小写字母,返回对应的ASCII码值,否则返回0,告诉不是
//alphabet, n.字母表
int isalpha(int ch);
//如果是大小写字母或者数字,返回对应的ASCII码值,否则返回0,告诉不是
//alphabet+num
int isalnum(int ch);
//如果是数字字符,返回对应的ASCII码值,否则返回0,告诉不是
//digit,n.数字
int isdigit(int ch);
//如果是小写字符,返回对应的ASCII码值,否则返回0,告诉不是
int islower(int ch);
//如果是大写字符,返回对应的ASCII码值,否则返回0,告诉不是
int isupper(int ch);
//如果是大写字符,返回对应的小写的,ASCII码值,否则返回0,告诉不能转换
int tolower(int ch);
//如果是小写字符,返回对应的大写的,ASCII码值,否则返回0,告诉不能转换
int toupper(int ch);
AC代码
class Solution {
public:
bool isPalindrome(string s) {
int len=s.size();
if( len<=0 )
{
return true;
}
string solve;
for( char c: s )
{
if( isdigit(c) )
{
solve+=c;
}
else if( isupper(c) )
{
char temp=tolower(c);
solve+=temp;
}
else if( islower(c) )
{
solve+=c;
}
}
int R=solve.size()-1;
int L=0;
while( L<R )
{
if( solve[L]!=solve[R] )
{
return false;
}
++L;
--R;
}
return true;
}
};