単語が回文かどうかを確認する再帰的な方法を作成しました。
しかし、文字列内の特殊文字 (*?!<) もチェックしたいので、文字列が 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;
}