Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
给你一个字符串, 判定它是否是回文(只统计字母、数字,其他字符请忽略)。
1. 例子
"A man, a plan, a canal: Panama"is a palindrome.
"race a car"is not a palindrome.
2. 笔记
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.
3. 解答
import java.util.*;
publicclassSolution {publicstaticbooleanisPalindrome(String s) {
s = s.toLowerCase();
StringBuffer sb = new StringBuffer();
// 先去掉标点等字符for (int i = 0; i < s.length(); i++ ) {
char ch = s.charAt(i);
if ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z')) {
sb.append(ch);
}
}
// 字符串回文判断for (int i = 0; i < sb.length()/2; i++) {
if (Objects.equals(sb.charAt(i), sb.charAt(sb.length()-1-i))) {
continue;
} elsereturnfalse;
}
returntrue;
}
}
0. 问题Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.1. 翻译给你一个字符串, 判定它是否是回文(只统计字母、数字,其他字符请忽略)。2. 例子"A man, a plan, a canal: Pan