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.
public boolean isPalindrome(String s) {
if(s==null) return false;
s=s.toLowerCase();
StringBuilder sb= new StringBuilder();
for(int i=0;i<s.length();i++){
char c=s.charAt(i);
if((c<='z' && c>='a') || c<='9' && c>='0' ){
sb.append(c);
}
}
String wu=sb.toString();
String miao=sb.reverse().toString();
if(wu.equals(miao)) return true;
return false;
}