125. Valid Palindrome java solutions
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,"A man, a plan, a canal: Panama"
is a palindrome."race a car"
is not a palindrome.
Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.
For the purpose of this problem, we define empty string as valid palindrome.
Subscribe to see which companies asked this question
1 public class Solution { 2 public boolean isPalindrome(String s) { 3 if(s.trim() == "") return true; 4 int i = 0,j = s.length()-1; 5 char c1,c2; 6 while(i <= j){ 7 c1 = s.charAt(i); 8 c2 = s.charAt(j); 9 if(!Character.isLetterOrDigit(c1)) i++; 10 if(!Character.isLetterOrDigit(c2)) j--; 11 if(Character.isLetterOrDigit(c1) && Character.isLetterOrDigit(c2)){ 12 if(Character.toLowerCase(c1) != Character.toLowerCase(c2)) return false; 13 i++; 14 j--; 15 } 16 } 17 return true; 18 } 19 }
主要是注意该题中 , . ! 等等不算在回文的序列中。