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:
Are you consider that the string might is empty? This was a good question to ask during a interview.
For the purpose of this problem, we define empty string as valid palindrome.
Public classSolution {//Note that the problem is not case-sensitive, so you need to use toLowerCase to convert, define a function to determine whether a character is a numeric value or a character, and begin to traverse the middle from beginning to end Public BooleanIspalindrome (String s) {if(s==NULL|| S.length () <=0)return true; S=s.tolowercase (); intLeft=0; intRight=s.length ()-1; while(left<Right ) { while(left<right&&!IsValid (S.charat (left))) { Left++; } while(left<right&&!IsValid (S.charat (right))) { Right--; } if(Left<right&&s.charat (left)!=s.charat (right))return false; Left++; Right--; } return true; } Public BooleanIsValid (Chara) { if(a>= ' A ' &&a<= ' Z ' | | a>= ' 0 ' &&a<= ' 9 ')return true; return false; }}
[Leedcode] Valid palindrome