我正在努力了解我的代码,以解决这个Leetcode问题。
问题:给定一个字符串,仅考虑字母数字字符并忽略大小写,确定它是否是回文。
目前,我通过了108/476个案例,但我的测试不及格:“一个人,一个计划,一条运河:巴拿马”。
这是我的代码,请帮助我确定问题!
class Solution {
public boolean isPalindrome(String s) {
if (s.isEmpty()) return true;
s.replaceAll("\\s+","");
int i = 0;
int j = s.length() - 1;
while (i <= j) {
if (Character.toLowerCase(s.charAt(i)) != Character.toLowerCase(s.charAt(j))) {
return false;
}
i++;
j--;
}
return true;
}
}
我正在努力了解我的代码,以解决这个Leetcode问题。问题:给定一个字符串,仅考虑字母数字字符并忽略...
您的正则表达式无效。试试这个:
通过s.replaceAll("\\s+","");
,您仅删除空格,但还必须删除除字母数字字符(如标点符号)以外的所有内容,在这种情况下为,
。