Check if the given string is Palindrome or not in Python
Understanding Palindrome
A palindrome is a string that reads the same forward and backward.
We will explore three different methods to check if a string is a palindrome using Python.
Method 1: Using a Loop
This method iterates through the string and checks if it is a palindrome.
def is_palindrome(s):
l, r = 0, len(s) - 1
while l < r:
if s[l] != s[r]:
return False
l += 1
r -= 1
return True
# Example usage
s = "madam"
print("Palindrome" if is_palindrome(s) else "Not a Palindrome")
Output: Palindrome
Method 2: Using Recursion
This method checks palindrome property recursively.
def is_palindrome_recursive(s, l, r):
if l >= r:
return True
if s[l] != s[r]:
return False
return is_palindrome_recursive(s, l + 1, r - 1)
# Example usage
s = "racecar"
print("Palindrome" if is_palindrome_recursive(s, 0, len(s) - 1) else "Not a Palindrome")
Output: Palindrome
Method 3: Using String Reverse
This method reverses the string and compares it with the original.
s = "hello"
rev = s[::-1]
print("Palindrome" if s == rev else "Not a Palindrome")
Output: Not a Palindrome