Palindrome program in java

In this article, we will see how to implement palindrome program in java.

A palindrome is a word, phrase, number, or other sequence of symbols or elements that reads the same forward or reversed.

For example: 12121 is palindrome as it reads same forward or reversed. madam is also a palindrome .
This is very simple interview question.There are many ways to check if given string is palindrome or not.

Reversing a String and then comparing it with input String:

package org.arpit.java2blog;
import java.util.Scanner;

public class StringFullLoopPalindrome {

 public static void main(String[] args) {

  Scanner scanner = new Scanner(System.in);
  System.out.print("Enter string : ");

  String str = scanner.nextLine();
  String reverseStr = "";

  for(int i = str.length() - 1; i >= 0; i--){
   reverseStr = reverseStr + str.charAt(i);
  }

  if(str.equals(reverseStr)){
   System.out.println("String is palindrome");
  } else {
   System.out.println("String is not palindrome");
  }
 }
}

Run above program, you will get following output:

Enter string : 12121
String is palindrome
Enter a string : Apple
String is not palindrome

Using half loop,Moving from both end of String simultaneously:

package org.arpit.java2blog;
import java.util.Scanner;

public class StringUsingHalfLoop {

 public static void main(String[] args) {
  Scanner scanner = new Scanner(System.in);
  System.out.print("Enter a string : ");

  String str = scanner.nextLine();
  boolean isPalin=isPalindrome(str);
  if(isPalin)
   System.out.println("String is Palindrome");
  else
   System.out.println("String is not Palindrome");

 }

 static boolean isPalindrome(String str)
 {
  for (int i = 0,j=str.length()-1; i <str.length()/2; i++,j--) {

   if(str.charAt(i)!=str.charAt(j))
   {
    return false;
   }

  }
  return true;
 }

}

Run above program, you will get following output:

Enter a string : madam
String is Palindrome
Enter a string : adam
String is not Palindrome

Using StringBuilder’s reverse() function:

package org.arpit.java2blog;

import java.util.Scanner;

public class StringPalindrome {

 public static void main(String[] args) {
   Scanner scanner = new Scanner(System.in);
      System.out.print("Enter string : ");

      String str = scanner.nextLine();
      StringBuilder strBuilder = new StringBuilder(str);

      strBuilder.reverse();

      if(str.equals(strBuilder.toString())){
          System.out.println("String is palindrome");
      } else {
          System.out.println("String is not palindrome");
      }

 }

}

Run above program, you will get following output:

Enter a string : stats
String is palindrome
Enter a string : 1212121
String is palindrome

Please go through java interview programs for more such programs.

That’s all about palindrome program in java.

You can also check Python program to check if String is palindrome.

[social_share share_on="facebook,twitter,linkedin,whatsapp"][post_navigator in_same_term="true"]

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.