POTD Solutions | 14 Nov’23 | Check if strings are rotations of each other or not Last Updated : 22 Nov, 2023 Improve Improve Like Article Like Save Share Report View all POTD Solutions Welcome to the daily solutions of our PROBLEM OF THE DAY (POTD). We will discuss the entire problem step-by-step and work towards developing an optimized solution. This will not only help you brush up on your concepts of String but will also help you build up problem-solving skills. POTD Solution 14 November 2023 We recommend you to try this problem on our GeeksforGeeks Practice portal first, and maintain your streak to earn Geeksbits and other exciting prizes, before moving towards the solution. POTD 14th Nov Check if strings are rotations of each other or not Solve! Watch! POTD 14 November: Check if strings are rotations of each other or not You are given two strings of equal lengths, s1 and s2. The task is to check if s2 is a rotated version of the string s1. Note: The characters in the strings are in lowercase. Examples: Input: s1 = “geeksforgeeks”, s2 = “forgeeksgeeks”Output: 1Explanation: s1 is geeksforgeeks, s2 is forgeeksgeeks. Clearly, s2 is a rotated version of s1 as s2 can be obtained by left-rotating s1 by 5 units. Input: s1 = “mightandmagic”, s2=”andmagicmigth”Output: 0Explanation: Here with any amount of rotation s2 can’t be obtained by s1. Check if strings are rotations of each other or not using Strings: The idea is to create a temp string and store the concatenation of s1 to s1 in temp, i.e temp = s1+s1. Check if s2 is a substring of temp then s1 and s2 are rotations of each other. Illustration: s1 = “ABACD”, s2 = “CDABA”temp = s1.s1 = “ABACDABACD”Since s2 is a substring of temp, s1 and s2 are rotations of each other. Below is the implementation of the above approach: C++ class Solution { public: // Function to check if two strings are rotations of // each other or not. bool areRotations(string s1, string s2) { // if s1 and s2 are unequal then it is not possoble // to get one from other by rotation. if (s1.length() != s2.length()) return false; // concatenating s1 with s2 string temp = s1 + s1; // check if s2 is substring of temp or not return (temp.find(s2) != string::npos); } }; Java class Solution { // Function to check if two strings are rotations of // each other or not. public static boolean areRotations(String s1, String s2) { // There lengths must be same and str2 must be // a substring of str1 concatenated with str1. return (s1.length() == s2.length()) && ((s1 + s1).indexOf(s2) != -1); } } Python3 class Solution: # Function to check if two strings are rotations of each other or not. def areRotations(self, s1, s2): size1 = len(s1) size2 = len(s2) temp = '' # Check if sizes of two strings are same if size1 != size2: return 0 # Create a temp string with value str1.str1 temp = s1 + s1 # Now check if str2 is a substring of temp # string.count returns the number of occurrences of # the second string in temp if (temp.count(s2) > 0): return 1 else: return 0 Time Complexity: O(N), where N is the length of the string.Auxiliary Space: O(N) POTD 14th Nov Check string rotations Read Full Solution! Like Article Suggest improvement Next Check if strings are rotations of each other or not | Set 2 Share your thoughts in the comments Add Your Comment Please Login to comment... Similar Reads Check if strings are rotations of each other or not | Set 2 C++ Program to Check if strings are rotations of each other or not | Set 2 Java Program to Check if strings are rotations of each other or not | Set 2 Python3 Program to Check if strings are rotations of each other or not | Set 2 Javascript Program to Check if strings are rotations of each other or not | Set 2 C++ Program to check if strings are rotations of each other or not Java Program to check if strings are rotations of each other or not C Program to check if strings are rotations of each other or not Python Program to check if strings are rotations of each other or not C# Program to check if strings are rotations of each other or not Like H hem_kishan_gfg Follow Article Tags : GFG-POTD-Solutions Competitive Programming DSA Strings Practice Tags : Strings