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的主要内容,如果未能解决你的问题,请参考以下文章