javaでどのようにして、入力された文字列が回文であるかどうかを判定しますか
入力された文字列が回文であるかどうかを判断するためには以下を使用できます。
- 入力文字列を文字配列に変換する。
- ポインタを2つ使い、1つを文字列の先頭、もう1つを末尾に置く。
- 2 つのポインタが指す文字が等しいかどうかを比較します。等しくなければ、文字列は回文でないため false を返します。
- 等しい場合は2つのポインタを中央に1つずつ移動し、次の文字を比較し続け、2つのポインタが一致するまで繰り返します。
- すべての文字を比較して不一致の場合は、文字列は回文なのでtrueを返す。
以下にサンプルコードを示します。
public class PalindromeChecker {
public static boolean isPalindrome(String input) {
char[] chars = input.toCharArray();
int start = 0;
int end = chars.length - 1;
while (start < end) {
if (chars[start] != chars[end]) {
return false;
}
start++;
end--;
}
return true;
}
public static void main(String[] args) {
String input = "abcdcba";
boolean isPalindrome = isPalindrome(input);
System.out.println("Is palindrome? " + isPalindrome);
}
}
上記コードを実行すると、「Is palindrome? true」が出力されます。これは、入力文字列「abcdcba」が回文だからです。