首页 > 代码库 > [LeetCode] Valid Palindrome

[LeetCode] Valid Palindrome

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.

For example, "A man, a plan, a canal: Panama" is a palindrome. "race a car" is not a palindrome.

Note: Have you consider that the string might be empty? This is a good question to ask during an interview.

For the purpose of this problem, we define empty string as valid palindrome.

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