-
方法1: 反転して比較する 一般的な回文判定方法の1つは、文字列を反転させて元の文字列と比較する方法です。もし反転した文字列と元の文字列が等しい場合、それは回文です。
以下はPythonでのコード例です:
def is_palindrome(word): reversed_word = word[::-1] return word == reversed_word # 使用例 print(is_palindrome("radar")) # True print(is_palindrome("hello")) # False
-
方法2: ポインタを使用する もう1つの方法は、2つのポインタを使用して文字列を前後から比較する方法です。最初のポインタは文字列の先頭を、2番目のポインタは文字列の末尾を指します。ポインタを移動しながら文字を比較し、対応する文字が異なる場合は回文ではありません。
以下はPythonでのコード例です:
def is_palindrome(word): start = 0 end = len(word) - 1 while start < end: if word[start] != word[end]: return False start += 1 end -= 1 return True # 使用例 print(is_palindrome("level")) # True print(is_palindrome("world")) # False
-
方法3: リストとスライスを使用する さらに別の方法は、文字列をリストに変換し、スライスを使用して前後を比較する方法です。
以下はPythonでのコード例です:
def is_palindrome(word): word_list = list(word) reversed_word = word_list[::-1] return word_list == reversed_word # 使用例 print(is_palindrome("deed")) # True print(is_palindrome("python")) # False
これらは回文判定のための一般的なアルゴリズムとコード例です。他にもさまざまな方法が存在しますが、ここではいくつかを紹介しました。選択したアルゴリズムは、プログラミング言語によって異なる場合がありますが、基本的なアイデアは共通しています。