パリンドロームの判定方法と効率的なコード例


パリンドロームの判定方法を効率的に行うには、次のようなアルゴリズムを使用することができます。

  1. 文字列の場合:

    • 文字列を前から順に1文字ずつ比較し、対応する後ろの文字と同じかどうかを確認します。
    • 比較する文字の範囲は、文字列の先頭から中央までです。
    • 一致しない文字が見つかった場合、パリンドロームではありません。
    • 一致する文字が全て見つかった場合、パリンドロームです。
  2. 数値の場合:

    • 数値を文字列に変換します。
    • 文字列の判定方法と同様に、前から順に1文字ずつ比較します。

以下に、いくつかのプログラミング言語でのコード例を示します。

Python:

def is_palindrome(string):
    start = 0
    end = len(string) - 1

    while start < end:
        if string[start] != string[end]:
            return False
        start += 1
        end -= 1

    return True
# 使用例
print(is_palindrome("level"))  # True
print(is_palindrome("hello"))  # False

Java:

public class PalindromeChecker {
    public static boolean isPalindrome(String string) {
        int start = 0;
        int end = string.length() - 1;

        while (start < end) {
            if (string.charAt(start) != string.charAt(end)) {
                return false;
            }
            start++;
            end--;
        }

        return true;
    }
// 使用例
    public static void main(String[] args) {
        System.out.println(isPalindrome("level"));  // true
        System.out.println(isPalindrome("hello"));  // false
    }
}

これらのコード例は、与えられた文字列がパリンドロームかどうかを判定するシンプルかつ効率的な方法です。このアルゴリズムを使用することで、パリンドロームの判定を高速に行うことができます。