125. 验证回文串

Posted chen-jack

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    }
}

 



以上是关于125. 验证回文串的主要内容,如果未能解决你的问题,请参考以下文章

leetcode-----125. 验证回文串

前端与算法 leetcode 125. 验证回文串

Leetcode 125.验证回文串 By Python

LeetCode:验证回文串125

LeetCode-125-验证回文串

125. 验证回文串