题目描述
题解
思路很好想,先去除非字母的字符,然后所有字母大写变小写,然后判断是不是回文字符。但是测试用例居然把数字字符算进要考虑的范围了,太坑了。所以最后还需要加判断是否是数字,是字符或者数字都可以加进要判断的字符串中。
执行用时:4 ms, 在所有 Java 提交中击败了46.12%的用户
内存消耗:38.5 MB, 在所有 Java 提交中击败了56.90%的用户
通过测试用例:480 / 480
class Solution {
public boolean isPalindrome(String s) {
// 1.去除符号和空格,大写变小写
StringBuilder sb = new StringBuilder();
char[] chars = s.toCharArray();
for (char c : chars) {
if (Character.isLetter(c) || Character.isDigit(c)) {
sb.append(Character.toLowerCase(c));
}
}
// System.out.println(sb.toString());
// System.out.println(sb.reverse().toString());
// 2.判断是否是回文字符串
if (sb.toString().equals(sb.reverse().toString())) {
return true;
}
return false;
}
}