Dadas las dos strings, tenemos que verificar si una string es una rotación de otra string.
Ejemplos:
Input : $string1 = "WayToCrack", $string2 = "CrackWayTo"; Output : Yes Input : $string1 = "WillPower" $string2 = "lliW"; Output : No.
El problema anterior se puede resolver fácilmente en otros idiomas al concatenar las dos strings y luego verificar si la string concatenada resultante contiene la string o no. Pero en PHP usaremos una función incorporada para resolver el problema. Las funciones incorporadas utilizadas son:
- strpos() : La función generalmente acepta los dos parámetros, primero uno para especificar la string que se buscará y el otro para encontrar en la string especificada.
En la solución PHP, strpos() dará la última posición de la string si se encuentra en la string especificada.
A continuación se muestra la implementación del enfoque anterior.
php
<?php function rotation_string($string1, $string2) { // if both strings are not same length then stop if (strlen($string1) != strlen($string2)) echo "No"; // concatenate $string1 to itself, if both // strings are of same length if (strlen($string1) == strlen($string2)) $string1 = $string1.$string1; if (strpos($string1, $string2) > 0) echo "Yes"; else echo "No"; } // Driver code $string1 = "WayToCrack"; $string2 = "CrackWayTo"; rotation_string($string1, $string2); ?>
Producción:
Yes