How to check if a given string is a palindrome, in Python?
"""
This implementation checks whether a given
string is a palindrome. A string is
considered to be a palindrome if it reads the
same forward and backward. For example, "kayak"
is a palindrome, while, "door" is not.
Let n be the length of the string
Time complexity: O(n),
Space complexity: O(1)
"""
def isPalindrome(string):
# Maintain left and right pointers
leftIdx = 0
rightIdx = len(string)-1
while leftIdx < rightIdx:
# If chars on either end don't match
# string cannot be a palindrome
if string[leftIdx] != string[rightIdx]:
return False
# Otherwise, proceed to next chars
leftIdx += 1
rightIdx -= 1
return True
print(isPalindrome("kayak")) # True
print(isPalindrome("door")) # False
myString = "aba"
if myString == myString[::-1]:
print("The string '" + myString + "' is a palindrome")
else:
print("The string '" + myString + "' is not a palindrome")
string = input("Type a string: ")
if string[::-1] == string:
print(string,"This string is Palindrome")
else:
print(string,"This string is not Palindrome")
mes=input("Enter the word and see if it is palindrome ")
if mes==mes[::-1]:
print("This word is palindrome")
else:
print("This word is not palindrome")