zoukankan      html  css  js  c++  java
  • 125. 验证回文串

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    说明:本题中,我们将空字符串定义为有效的回文串。

    示例 1:

    输入: "A man, a plan, a canal: Panama"
    输出: true
    

    示例 2:

    输入: "race a car"
    输出: false

    思路:从头尾开始同时遍历比较 目前 beat 95%
    class Solution {
        public boolean isPalindrome(String s) {
            char[] ch = s.toCharArray();
            int i=0,j = ch.length-1;
            for(;i<j;){
                if(Character.isDigit(ch[i])){
                    if(Character.isDigit(ch[j])) {
                        if(ch[i]!=ch[j]) return false;
                        else{
                            --j;++i;
                        }
                    }
                    else if(Character.isLetter(ch[j])) return false;
                    else --j;
                } 
               else  if(Character.isLetter(ch[i])){
                    if(Character.isLetter(ch[j])){
                        if(ch[i]==ch[j] || ch[i]==ch[j]+32 || ch[i]==ch[j]-32) { ++i;--j;}
                        else return false;
                    }
                    else if(Character.isDigit(ch[j])) return false;
                    else --j;
                   }
                
                else ++i;
          }
            return true;
        }
    }
  • 相关阅读:
    mysql高并发配置
    php xml转array的方法
    双系统,一系统损坏后的解决方案之硬盘启动
    最长公共前缀
    罗马数字转整数
    回文数
    整数反转
    一、数组---两数之和
    从尾到头打印链表
    替换空格
  • 原文地址:https://www.cnblogs.com/chen-jack/p/9940275.html
Copyright © 2011-2022 走看看