Maison  >  Article  >  développement back-end  >  ## String s2 est-il une version pivotée de String s1 ?

## String s2 est-il une version pivotée de String s1 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-25 07:12:29177parcourir

## Is String s2 a Rotated Version of String s1?

Question d'entretien : identifier la rotation des chaînes

Étant donné deux chaînes, s1 et s2, une personne interrogée a récemment été confrontée à une question visant à déterminer si s1 est un version pivotée de s2. Une version pivotée fait référence à une chaîne dont les caractères ont été décalés d'un certain nombre de positions vers la gauche ou la droite, ce qui donne lieu à une nouvelle chaîne contenant les mêmes caractères dans un ordre différent.

Solution simplifiée

Pour résoudre ce problème, une approche simple mais efficace peut être utilisée. Avant de continuer, il est essentiel de vérifier que les deux chaînes, s1 et s2, ont la même longueur. Une fois cela confirmé, nous pouvons concaténer s1 avec lui-même pour former une chaîne plus longue, notée s1s1.

Maintenant, le nœud de la solution réside dans l'examen si s2 est une sous-chaîne de la chaîne concaténée s1s1. Si s2 est bien une sous-chaîne de s1s1, cela indique que les caractères de s2 peuvent être trouvés dans un segment contigu de s1s1. Par conséquent, une rotation de s1, qui déplace essentiellement ses caractères, entraînerait une nouvelle chaîne qui conserverait s2 comme sous-chaîne.

Exemple

Considérons les chaînes s1 = "stackoverflow" et s2 = "tackoverflows". En concaténant s1 avec lui-même, on obtient la chaîne s1s1 = "stackoverflowstackoverflow". Notez que s2 est une sous-chaîne de s1s1, ce qui signifie que s1 et s2 sont des versions pivotées l'une de l'autre.

Cette solution simplifiée exploite les puissantes capacités des algorithmes de recherche de sous-chaînes, offrant un moyen efficace de déterminer la rotation des chaînes. En évitant les boucles ou manipulations excessives, il propose une approche concise et élégante pour résoudre le problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn