Tuesday, February 11, 2014

[leetcode][*]

 bool validchar(char a){
        if(a >= '0' && a <= '9' || a >='a' && a <='z' || a >= 'A' && a <= 'Z')
            return true;
        else
            return false;
    }
    bool mequal(char a, char b){
        if((a - 'a' == b - 'a') || (a - 'a' == b - 'A') 
           ||(a - 'A' == b - 'a') || (a - 'A' == b - 'A'))
           return true;
        else
            return false;
    }
    bool isPalindrome(string s) {
        if(s.empty()) return true;
        int r = 0;
        int l = s.length() - 1;
        while(r < l){
            while(!validchar(s[r]) && r < l){
                ++r;
            }
            while(!validchar(s[l]) && r < l){
                --l;
            }
            if(!mequal(s[r], s[l])){
                return false;
            }else{
                ++r;
                --l;
            }
        }
        return true;
    }

No comments:

Post a Comment