# Python3 Program to Check if a string can be obtained by rotating another string 2 places

• Last Updated : 06 Jan, 2022

Given two strings, the task is to find if a string can be obtained by rotating another string two places.

Examples:

Input: string1 = “amazon”, string2 = “azonam”
Output: Yes
// rotated anti-clockwise
Input: string1 = “amazon”, string2 = “onamaz”
Output: Yes
// rotated clockwise

```1- There can be only two cases:
a) Clockwise rotated
b) Anti-clockwise rotated

2- If clockwise rotated that means elements
are shifted in right.
So, check if a substring[2.... len-1] of
string2 when concatenated with substring[0,1]
of string2 is equal to string1. Then, return true.

3- Else, check if it is rotated anti-clockwise
that means elements are shifted to left.
So, check if concatenation of substring[len-2, len-1]
with substring[0....len-3] makes it equals to
string1. Then return true.

4- Else, return false.```

Below is the implementation of the above approach.

## Python3

 `# Python 3 program to check if a string ``# is two time rotation of another string.`` ` `# Function to check if string2 is ``# obtained by string 1``def` `isRotated(str1, str2):``    ``if` `(``len``(str1) !``=` `len``(str2)):``        ``return` `False``     ` `    ``if``(``len``(str1) < ``2``):``        ``return` `str1 ``=``=` `str2``    ``clock_rot ``=` `""``    ``anticlock_rot ``=` `""``    ``l ``=` `len``(str2)`` ` `    ``# Initialize string as anti-clockwise ``    ``# rotation``    ``anticlock_rot ``=` `(anticlock_rot ``+` `                     ``str2[l ``-` `2``:] ``+` `                     ``str2[``0``: l ``-` `2``])``     ` `    ``# Initialize string as clock wise ``    ``# rotation``    ``clock_rot ``=` `clock_rot ``+` `str2[``2``:] ``+` `str2[``0``:``2``]`` ` `    ``# check if any of them is equal to string1``    ``return` `(str1 ``=``=` `clock_rot ``or``            ``str1 ``=``=` `anticlock_rot)`` ` `# Driver code``if` `__name__ ``=``=` `"__main__"``:``     ` `    ``str1 ``=` `"geeks"``    ``str2 ``=` `"eksge"``if` `isRotated(str1, str2):``    ``print``(``"Yes"``)  ``else``:``    ``print``(``"No"``)``# This code is contributed by ita_c`

Output:

`Yes`

Please refer complete article on Check if a string can be obtained by rotating another string 2 places for more details!

My Personal Notes arrow_drop_up