美文网首页
125. Valid Palindrome

125. Valid Palindrome

作者: juexin | 来源:发表于2017-01-09 17:21 被阅读0次

    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 i=0,j=s.size()-1;
            while(i<=j)
            {
                if(!isAlpha(s[i]))
                {
                    i++;
                    continue;
                }
                if(!isAlpha(s[j]))
                {
                    j--;
                    continue;
                }
                if(s[i]!=s[j])
                   return false;
                i++;
                j--;
            }
            return true;
        }
        
        bool isAlpha(char &c)
        {
            if('A'<=c&&c<='Z')
            {
                c = c-'A'+'a';
                return true;
            }
            return ('a'<=c&&c<='z')||('0'<=c&&c<='9');
        }
        
    };
    

    相关文章

      网友评论

          本文标题:125. Valid Palindrome

          本文链接:https://www.haomeiwen.com/subject/sashbttx.html