Programa Python3 para verificar si se puede obtener una string al rotar otra string 2 lugares

Dadas dos strings, la tarea es encontrar si se puede obtener una string rotando otra string dos lugares. 

Ejemplos: 

Entrada : string1 = «amazon», string2 = «azonam» 
Salida: Sí 
// girado en sentido antihorario
Entrada : string1 = «amazon», string2 = «onamaz» 
Salida : Sí 
// girado en sentido horario

Preguntado en : Amazon Entrevista

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.

A continuación se muestra la implementación del enfoque anterior.

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

Producción: 

Yes

Consulte el artículo completo sobre Comprobar si se puede obtener una string girando otra string 2 lugares para obtener más detalles.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *