给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
public boolean isPalindrome(String s) {
if(s == null || s.length() <=0 || s.trim() == null || s.trim().length() <=0)
return true;
char[] chars = s.toCharArray();
List list = new ArrayList();
for(char c : chars){
if(Character.isLetterOrDigit(c)){
list.add(c);
}
}
if(list != null && list.size() > 0){
int length = list.size();
for(int i=0;i<length/2;i++){
char prex = (char)list.get(i);
char letter = (char)list.get(length -1-i);
if(Character.toUpperCase(prex) != Character.toUpperCase(letter))
return false;
}
return true;
}
return true;
}