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     }

 

posted @ 2014-06-29 14:55  HaruHaru  阅读(122)  评论(0编辑  收藏  举报