zoukankan      html  css  js  c++  java
  • LeetCode(125)题解--Valid Palindrome

    https://leetcode.com/problems/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.

    思路:

    easy.

    AC代码:

     1 class Solution {
     2 public:
     3     bool isPalindrome(string s) {
     4         int a=0,b=s.size()-1;
     5         while(a<b){
     6             if(!((s[a]>='a'&&s[a]<='z')||(s[a]>='A'&&s[a]<='Z')||(s[a]>='0'&&s[a]<='9'))){
     7                 a++;
     8                 continue;
     9             }
    10             if(!((s[b]>='a'&&s[b]<='z')||(s[b]>='A'&&s[b]<='Z')||(s[b]>='0'&&s[b]<='9'))){
    11                 b--;
    12                 continue;
    13             }
    14             if((s[a]>='a'&&s[a]<='z')){
    15                 if((s[a]!=s[b])&&(s[a]+'A'-'a'!=s[b])){
    16                     return false;
    17                 }
    18             }
    19             else if((s[a]>='A'&&s[a]<='Z')){
    20                 if((s[a]!=s[b])&&(s[a]!=s[b]+'A'-'a')){
    21                     return false;
    22                 }
    23             }
    24             else{
    25                 if(s[a]!=s[b]){
    26                     return false;
    27                 }
    28             }
    29             a++;
    30             b--;
    31         }
    32         return true;
    33     }
    34 };
  • 相关阅读:
    P1939 矩阵加速(数列)
    P3390 矩阵快速幂
    快速幂
    1236:区间合并
    1183:病人排队
    1230:寻找平面上的极大点
    1244:和为给定数
    1228 书架
    1222 放苹果
    洛谷5015标题统计
  • 原文地址:https://www.cnblogs.com/aezero/p/4821729.html
Copyright © 2011-2022 走看看