• 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.

    字符串为空时判断为回文,大小写不区分可确定相等,数字与字母不同。

     1 class Solution {
     2 public:
     3     bool isPalindrome(string s) {
     4         int n=s.length();
     5         if(n==0) return true;
     6         int i=0,j=n-1;
     7         while(i<j){
     8             if(!isCharacters(s[i])){
     9                 i++;
    10                 continue;
    11             }
    12             if(!isCharacters(s[j])){
    13                 j--;
    14                 continue;
    15             }
    16                 
    17             int left=0,right=0,leftsig=0,rightsig=0;
    18             left=(s[i]>='0'&&s[i]<='9')?s[i]-'0':((s[i]>='a'&&s[i]<='z')?s[i]-'a':s[i]-'A');
    19             right=(s[j]>='0'&&s[j]<='9')?s[j]-'0':((s[j]>='a'&&s[j]<='z')?s[j]-'a':s[j]-'A');
    20             leftsig=(s[i]>='0'&&s[i]<='9')?0:1;
    21             rightsig=(s[j]>='0'&&s[j]<='9')?0:1;
    22             if(left!=right||leftsig!=rightsig)
    23                 return false;
    24             i++;
    25             j--;
    26         }
    27         return true;
    28     }
    29     bool isCharacters(char c){
    30         if((c>='a'&&c<='z')||(c>='A'&&c<='Z')||(c>='0'&&c<='9'))
    31             return true;
    32         else
    33             return false;
    34     }
    35 };
  • 相关阅读:
    jquery处理鼠标左中右键事件
    bootstrap弹出框
    移动端去掉a标签点击时出现的背景
    sessionStorage
    页面滑动到最下面,执行代码
    判断页面时向上滚动还是向下滚动
    sql 时间查询 /sql中判断更新或者插入/查询一年所有双休日
    求取最大值
    Repeater 获取数据值
    加载完毕后执行计算
  • 原文地址:https://www.cnblogs.com/zl1991/p/7000512.html
Copyright © 2020-2023  润新知