A string is said to be a palindrome if the string remains the same after reversing.
eg.-
- code (after reversing the string "code" it becomes "edoc") so, the given string "code" is not a palindrome.
- madam (after reversing the string "madam" it becomes "madam") so, the given string "madam" is a palindrome.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.Scanner; public class CheckStringPalindrome { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); StringBuffer sb = new StringBuffer(str); sb.reverse(); String rev = new String(sb); if (str.equals(rev)) { System.out.println("String is Palindrome"); } else { System.out.println("String is not Palindrome"); } } } |
Explanation:-
-
At line 6 we create a Scanner class object to take input from
the user.
-
Taking an input as string from the user (line 7) named as
"str".
-
As we know, String is immutable (i.e. not changeable) and it
also doesn't have an inbuilt reverse method. So at line 8, we
are creating a StringBuffer object reference named "sb" (which is mutable or changeable ) using the string that we
have already taken from the user inline 7(i.e.
str).
-
Now we are using the
reverse( )
(inbuilt method) of StringBuffer class at line 9 to
reverse the string and storing it in the same variable "sb".
-
After reversing the string "sb" we are creating the normal String class object("rev") with reverse value(line 10).
-
Now we are comparing the string taken from the user ("str") and reversed string("rev") using equals() (inbuilt method) of String class.
Another approach:-
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); String rev = ""; for(int i=0; i<str.length(); i++) rev = str.charAt(i) + rev; if(rev.equals(str)) System.out.println(str+" is palindrome"); else System.out.println(str+" is not palindrome"); } } |
Python
input_str = input("Enter a string:") if input_str==input_str[::-1]: print(input_str,"is palindrome") else: print(input_str,"is not palindrome") |
- Line 1 is taking input from the user and storing it in the variable named "string".
- Line 2 Comparing the string with its reverse using slicing operator.
- To know more about slicing click here.
If You have any doubts related to this post write in the comment section
if you want to ask a Programming question or to give any suggestions or
feedback
click here.