zoukankan      html  css  js  c++  java
  • leetCode(51):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) {
            if(s.empty())
                return true;
            int i=0;
            int j=s.size()-1;
            for(;i<j;i++)
            {//i后移
                if((s[i]>='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z') || (s[i]>='0' && s[i]<='9'))
                {//找到第一个为字符或数字的字符
                    for(;j>i;--j)
                    {//j前移
                        if((s[j]>='a' && s[j]<='z') || (s[j]>='A' && s[j]<='Z') || (s[j]>='0' && s[j]<='9'))
                        {//找到第一个为字符或数字的字符
                            if(s[i]==s[j] || s[i]+'A'-'a'==s[j] || s[i]+'a'-'A'==s[j])
                            {//找到后时行推断
                                j--;//前进一步
                                break;
                            }
                            else
                                return false;
                        }
                    }
                }
            }
            return true;
        }
    };


  • 相关阅读:
    Bot Style Tests VS Page Objects
    Qemu文档
    PlantUML
    include <xxx.h> 和 include "xxxx.h"的区别
    2021.40 喜欢当下
    2021.39 MIUI崩溃
    2021.38 聚焦
    2021.37 心流
    2021.36 负熵
    2021.35 精神熵
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6815717.html
Copyright © 2011-2022 走看看