leetcode.125

题目
/*
【分析】对照ascii表可知,数字字符范围48~57,大写字母范围65~90,小写字母范围97~122
*/
bool isPalindrome(char* s) {
    int low,high;
    low=0;high=strlen(s)-1;
    
    while(low<=high)
    {
        int x=s[low];int y=s[high];
        while(y<48||(y>57&&y<65)||(y>90&&y<97)||y>122)
        {
            if(high>0)
                y=s[--high];
            else
                return true;
        }
        while(x<48||(x>57&&x<65)||(x>90&&x<97)||x>122)
        {
            x=s[++low];
            
        }
        if(x>=65&&x<=90)
        {
            x=x+32;
        }
        if(y>=65&&y<=90)
        {
            y=y+32;
        }
        if(x!=y)
            return false;
        else 
            ++low;--high;
    }
    return true;
}

思路如程序

你可能感兴趣的:(leetcode.125)