leetcode.字符串.125验证回文串-Java

Posted les111ley

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode.字符串.125验证回文串-Java相关的知识,希望对你有一定的参考价值。

1. 具体题目

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。

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

示例 2:  输入: "race a car"  输出: false

2. 思路分析

对于给定的字符串,其中可能包括有无效字符,所以需要先将原字符串中的无效字符去掉(用正则表达式判断),得到新字符串后用双指针比较首尾字符是否相等。

3. 代码

public boolean isPalindrome(String s) {
        //字符串为null和长度为0是不同的
        if(s == null || s.length() == 0) return true;
        String str = s.replaceAll("[^0-9a-zA-Z]","").toLowerCase();
        int left = 0;
        int right = str.length() - 1;
        while(left < right){
            if(str.charAt(left) != str.charAt(right)){
                return false;
            }
            left++;
            right--;
        }
        return true;
    }

 

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

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

LeetCode(125):验证回文串

leetcode 125. 验证回文串

LeetCode 125. 验证回文串

LeetCode 125. 验证回文串

[LeetCode] 125. 验证回文串