LeetCode Top Interview Questions 125. Valid Palindrome (Java版; Easy)
题目描述
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
Note: For the purpose of this problem, we define empty string as valid palindrome.
Example 1:
Input: "A man, a plan, a canal: Panama"
Output: true
Example 2:
Input: "race a car"
Output: false
classSolution{publicbooleanisPalindrome(String s){int n = s.length();if(n==0){returntrue;}
s = s.toLowerCase();int i =0, j = n-1;while(i<j){while(i<j &&!(s.charAt(i)>='0'&& s.charAt(i)<='9'|| s.charAt(i)>='a'&& s.charAt(i)<='z')){
i++;}if(i==j){break;}while(i<j &&!(s.charAt(j)>='0'&& s.charAt(j)<='9'|| s.charAt(j)>='a'&& s.charAt(j)<='z')){
j--;}if(i==j){break;}if(s.charAt(i)!=s.charAt(j)){returnfalse;}//
i++;
j--;}returntrue;}}