Javaの回文数判定アルゴリズムの使用方法

回文数を判定するアルゴリズムは、次のように表される。

  1. 数字を文字列に変換する。
  2. ポインタを2つ使用します。1つは文字列の先頭で、もう1つは文字列の末尾です。
  3. 2つのポインタが指す文字が一致しない場合は、その数は回文ではありません。
  4. 等しければ、二人のポインタを中央に寄せ合って、引き続き比較していく。
  5. 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は回文数であることを示しています。

bannerAds