Javaの回文数判定アルゴリズムの使用方法
回文数を判定するアルゴリズムは、次のように表される。
- 数字を文字列に変換する。
- ポインタを2つ使用します。1つは文字列の先頭で、もう1つは文字列の末尾です。
- 2つのポインタが指す文字が一致しない場合は、その数は回文ではありません。
- 等しければ、二人のポインタを中央に寄せ合って、引き続き比較していく。
- 2つのポインタが出会ったり、クロスしたりする場合は、その数は回文数です。
Java で実装されたサンプルコードを以下に示します。
public class PalindromeNumber {
public static boolean isPalindrome(int number) {
String str = Integer.toString(number);
int left = 0; // 左指针
int right = str.length() - 1; // 右指针
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
public static void main(String[] args) {
int number = 12321;
boolean isPalindrome = isPalindrome(number);
System.out.println("Is " + number + " a palindrome number? " + isPalindrome);
}
}
上記のサンプルコードでは、数字12321をisPalindrome()メソッドに渡して、結果を表示しています。出力結果は「Is 12321 a palindrome number? true」で、12321は回文数であることを示しています。