zoukankan      html  css  js  c++  java
  • 125. Valid Palindrome (Array; Two-Pointers)

    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) {
            if(s.empty()) return true;
            int sLength = s.length();
            int front = -1;
            int rear = sLength;
            char cFront;
            char cRear;
            while (1)
            {
                    cFront = s[++front];
                    cRear = s[--rear];
                    if(front > rear) break;
                    if(cFront <= 'Z'&& cFront >='A')
                    {
                        cFront +=32;
                    }
                    if(cRear <= 'Z'&& cRear >='A')
                    {
                        cRear +=32;
                    }              
                    while(  cFront < '0' || (cFront < 'a' && cFront > '9')|| cFront>'z')
                    {
                        cFront = s[++front];
                        if(front >= rear) break;
                        if(cFront <= 'Z'&& cFront >='A')
                        {
                            cFront +=32;
                        }
                    }
                   while(  cRear < '0' || (cRear < 'a' && cRear > '9')|| cRear>'z')
                    {
                        cRear = s[--rear];
                        if(front >= rear) break;
                        if(cRear <= 'Z'&& cRear >='A')
                       {
                           cRear +=32;
                        }
                    }            
                    if(front >= rear) break;
                    if(cFront!=cRear)
                    {
                        return false;
                    }
                }
                return true;
        }
    };
  • 相关阅读:
    HTTP
    jQuery
    BOM与DOM
    Page类成员
    Web用户自定义控件
    ASP.NET服务端基本控件介绍
    ASP.NET中的验证控件
    ASP.NET数据绑定控件
    ASP.NET中的母版页
    ASP.NET缓存 Cache
  • 原文地址:https://www.cnblogs.com/qionglouyuyu/p/4853478.html
Copyright © 2011-2022 走看看