zoukankan      html  css  js  c++  java
  • Valid Palindrome [LeetCode]

    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.

    Solution:

     1     bool isAlphanumberic(char a) {
     2         if(a >= 48 && a <= 57 ||
     3           (a >= 65 && a <= 90) ||
     4           (a >= 97 && a <= 122))
     5             return true;
     6         return false;
     7     }
     8     bool isPalindrome(string s) {
     9         if(s.size() == 0 )
    10             return true;
    11         int start = 0;
    12         int end = s.size() - 1;
    13         while(start < end) {
    14             if(isAlphanumberic(s[start]) && isAlphanumberic(s[end]) ){
    15                 if(s[start] >= 97)
    16                     s[start] -= 32;
    17                 if(s[end] >= 97)
    18                     s[end] -= 32;
    19                 if(s[start] != s[end]) {
    20                     return false;
    21                 }else {
    22                     start ++;
    23                     end --;
    24                 }
    25             }else if(!isAlphanumberic(s[start])){
    26                 start ++;
    27             }else if(!isAlphanumberic(s[end])) {
    28                 end --;
    29             }
    30         }
    31         return true;
    32     }
  • 相关阅读:
    Queue
    List
    面试1
    野指针和空指针
    指针的定义和使用
    多文件编程
    函数声明
    函数样式
    字符串比较
    函数的定义和使用
  • 原文地址:https://www.cnblogs.com/guyufei/p/3416622.html
Copyright © 2011-2022 走看看