Valid Palindrome

Posted IIcyZhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:
    int isChar(char c) 
        if (c >= 'a'&& c <= 'z') 
            return c;
         else if (c >= 'A' && c <= 'Z') 
            return c + 'a' - 'A';
         else if (c >= '0' && c <= '9')
            return c;
         else 
            return -1;
        
    
    
    bool isPalindrome(string s) 
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        int low = 0;
        int high = s.size() - 1;
        while (low <= high) 
            while (low < high && -1 == isChar(s[low])) ++low;
            while (low < high && -1 == isChar(s[high])) --high;
            if (low <= high) 
                if (isChar(s[low]) == isChar(s[high])) 
                    ++low;
                    --high;
                
                else 
                    return false;
                
            
        
        return true;
    
;


以上是关于Valid Palindrome的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 125. Valid Palindrome

125. Valid Palindrome

LeetCode 1216. Valid Palindrome III

LeetCode-Valid Palindrome

Java [Leetcode 125]Valid Palindrome

125. Valid Palindrome