Valid Palindrome leetcode

Valid Palindrome


本题比较简单,用两个指针从两头开始遍历即可 

AC代码:

class Solution {
public:
    bool isletter(char n){
        if((n>='a'&&n<='z')||(n>='A'&&n<='Z'))
           return true;
        return false;
    }
    bool isPalindrome(string s) {
        int i=0,j=s.size()-1;
        while(i<j){
            if(!isletter(s[i])&&!(s[i]>='0'&&s[i]<='9'))
              {i++;continue;}
            if(!isletter(s[j])&&!(s[j]>='0'&&s[j]<='9'))
              {j--;continue;}
            if(s[i]!=s[j]&&!(isletter(s[i])&&isletter(s[j])&&abs(s[i]-s[j])==abs('A'-'a')))
               return false;
            else
               {i++;j--;}
        }
        return true;
    }
};


猜你喜欢

转载自blog.csdn.net/maryhaocoolcool/article/details/51991749