记忆常用字符函数

//如果是大小写字母,返回对应的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;

    }
};