LeetCode 125. 验证回文串

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

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

示例 1:

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

示例 2:

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


思路:
用头尾指针,如果不是数字就l++,r--
题目说可以可以忽略字母的大小写。如果是判断是否相当,当都为小写字母时,如果不是直接return false;
 1 package javacode;
 2 
 3 class 验证回文串 {
 4     public boolean isPalindrome(String s) {
 5         s = s.toLowerCase();
 6         char[] tem = s.toCharArray();
 7         int l=0,r=tem.length-1;
 8         
 9         while(l<r) {
10             if(!Character.isLetterOrDigit(tem[l]))
11                 l++;
12             else if(!Character.isLetterOrDigit(tem[r]))
13                 r--;
14             else 
15             {
16                 if(Character.toLowerCase(tem[l]) == Character.toLowerCase(tem[r]))
17                 {
18                     l++;
19                     r--;
20                 }
21                 else return false;
22             }
23                 
24         }
25         return true;
26         
27     }
28 
29 }
View Code
原文地址:https://www.cnblogs.com/tijie/p/10041047.html