Javaでは、文字列が回文かどうかを判断するには、文字列のreverseを作成し、元の文字列と比較します。
パлиндロームであるかどうかを判定する方法は次のとおりです。
- StringBuilderクラスのreverseメソッドで文字列を逆にして、元の文字列と比較する。一致すれば回文。
public static boolean isPalindrome(String str) {
StringBuilder sb = new StringBuilder(str);
return sb.reverse().toString().equals(str);
}
- 頭の文字からと後ろから文字を比較して、違う文字があれば回文ではない。
public static boolean isPalindrome(String str) {
int start = 0;
int end = str.length() - 1;
while (start < end) {
if (str.charAt(start) != str.charAt(end)) {
return false;
}
start++;
end--;
}
return true;
}
- 再帰関数で文字列が回文かどうかを判断します。再帰のベースケースは文字列の長さが1以下で、文字列の文字が等しい場合です。その後、再帰的に部分文字列が回文かどうかを判断します。
public static boolean isPalindrome(String str) {
if (str.length() <= 1) {
return true;
}
if (str.charAt(0) != str.charAt(str.length() - 1)) {
return false;
}
return isPalindrome(str.substring(1, str.length() - 1));
}
上記は、文字列が回文かどうかを判断する方法の一般的な3つです。状況に応じて、適切な方法を選択してください。