首页 > 代码库 > Problem Valid Palindrome

Problem Valid Palindrome

Problem Description:

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.

 

 Solution:
 1     public boolean isPalindrome(String s) { 2     if (s == null) return false; 3         if (s.length() <= 1) return true; 4  5         StringBuilder builder = new StringBuilder(); 6         for (int i = 0; i < s.length(); i++) { 7             char ch = s.charAt(i); 8             if ((ch >= ‘a‘ && ch <= ‘z‘) || (ch >= ‘A‘ && ch <= ‘Z‘) || (ch >= ‘0‘ && ch <= ‘9‘)) { 9                 builder.append(ch);10             }11         }12 13         return builder.toString().toLowerCase().equals(builder.reverse().toString().toLowerCase());14     }