Python program to check if a string is palindrome or not
Given a string, write a python function to check if it is palindrome or not. A string is said to be palindrome if reverse of the string is same as string. For example, “radar” is palindrome, but “radix” is not palindrome.
Examples:
Input : malayalam Output : Yes Input : python Output : No
Method #1
1) Find reverse of string
2) Check if reverse and original are same or not.
# function which return reverse of a string def reverse(s): return s[:: - 1 ] def isPalindrome(s): # Calling reverse function rev = reverse(s) # Checking if both string are equal or not if (s = = rev): return True return False # Driver code s = "malayalam" ans = isPalindrome(s) if ans = = 1 : print ( "Yes" ) else : print ( "No" ) |
Output :
Yes
Iterative Method: Run loop from starting to length/2 and check first character to last character of string and second to second last one and so on …. If any character mismatches, the string wouldn’t be palindrome.
Below is the implementation of above approach:
# function to check string is # palindrome or not def isPalindrome( str ): # Run loop from 0 to len/2 for i in xrange ( 0 , len ( str ) / 2 ): if str [i] ! = str [ len ( str ) - i - 1 ]: return False return True # main function s = "malayalam" ans = isPalindrome(s) if (ans): print ( "Yes" ) else : print ( "No" ) |
Output:
Yes
Method using inbuilt function to reverse a string: In this method, predefined function ‘ ‘.join(reversed(string)) is used to reverse string.
Below is the implementation of the above approach:
# function to check string is # palindrome or not def isPalindrome(s): # Using predefined function to # reverse to string print(s) rev = ''.join( reversed (s)) # Checking if both string are # equal or not if (s = = rev): return True return False # main function s = "malayalam" ans = isPalindrome(s) if (ans): print ( "Yes" ) else : print ( "No" ) |
Output:
Yes
Method using one extra variable: In this method user take a character of string one by one and store in a empty variable.After storing all the character user will compare both the string and check whether it is palindrome or not.
# Python program to check # if a string is palindrome # or not x = "malayalam" w = "" for i in x: w = i + w if (x = = w): print ( "YES" ) |
Output:
Yes
One Response
x = “malayalam”
w = “”
for i in x:
w = i + w
if (x==w):
print(“YES”)
How does the program execute?