我写了一个递归方法来检查一个单词是否是回文。
但我现在也希望检查字符串中的任何特殊字符 (*?!<。所以如果字符串是 ab.ba 它不是回文。
这是我所拥有的,并且 isAlphanuemerical() 在单步执行时似乎工作正常,但是如果我输入 ab.ba 它仍然会注册为回文
public static boolean isPal(String s)
{
if(s.length() == 0 || s.length() == 1)
return true;
// Check if String contains any alphanumeric characters
if (isAlphanumeric(s))
return false;
if(s.charAt(0) == s.charAt(s.length()-1))
return isPal(s.substring(1, s.length()-1));//if its not the case than string is not.
return false;
}
而我的 isAlphaneumerical() 方法
public static boolean isAlphanumeric(String str) {
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (!Character.isLetter(c) && !Character.isDigit(c))
return false;
}
return true;
}