How to check if one String is rotation of another String in java

In this post, we will see how to check if one String is rotation of another or not.

For example:
java2blog and blogjava2 are rotation of each other.

java2blog and avablog2j are not rotation of each other.

Approach:

Lets say you need to check whether str1 and str2 is rotation of one another or not.
  1. Create a new String with str3= str1 + str1
  2. Check if str3 contains str2 or not.
  3. if str3 contains str2 then str2 is rotation of str1 else it is not
Java Program to check if one String is rotation of another.

package org.arpit.java2blog;

public class StringRotationMain {

 public static void main(String[] args) {
  
  System.out.println("java2blog and blogjava2 are rotation of each other : "+isRotation("java2blog","blogjava2"));
  System.out.println("java2blog and avablog2j are rotation of each other : "+isRotation("java2blog","avablog2j"));

 }
 
 public static boolean isRotation(String str,String rotation)
 {
   String str2=str+str;
  
   if(str2.contains(rotation))
   {
    return true;
   }
   return false;
  
 }

}

When you run above program, you will get below output:
java2blog and blogjava2 are rotation of each other : true
java2blog and avablog2j are rotation of each other : false


Written by Arpit:

If you have read the post and liked it. Please connect with me on Facebook | Twitter | Google Plus

 

Java tutorial for beginners Copyright © 2012