以下に、パリンドロームをチェックするためのいくつかの方法と、それぞれの方法のコード例を示します。
方法1: 反転して比較する 一番簡単な方法は、与えられた文字列を反転させて元の文字列と比較する方法です。
def is_palindrome(string):
reversed_string = string[::-1]
return string == reversed_string
# 使用例
print(is_palindrome("level")) # True
print(is_palindrome("radar")) # True
print(is_palindrome("hello")) # False
方法2: ポインタを使用する もう一つの方法は、文字列の先頭と末尾からポインタを進めていき、対応する文字を比較する方法です。
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("radar")) # True
print(is_palindrome("hello")) # False
方法3: 再帰を使用する 再帰を使ってパリンドロームをチェックする方法もあります。
def is_palindrome(string):
if len(string) <= 1:
return True
if string[0] != string[-1]:
return False
return is_palindrome(string[1:-1])
# 使用例
print(is_palindrome("level")) # True
print(is_palindrome("radar")) # True
print(is_palindrome("hello")) # False
これらは、パリンドロームをチェックするためのいくつかの一般的な方法です。どの方法を選ぶかは、特定のケースや性能要件によって異なる場合があります。