首页 > 其他 > 详细

125. 验证回文串

时间:2018-11-10 19:40:04      阅读:139      评论:0      收藏:0      [点我收藏+]

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

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

示例 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;
    }
}

 

125. 验证回文串

原文:https://www.cnblogs.com/chen-jack/p/9940275.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!