Maison > développement back-end > C++ > le corps du texte

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

Mary-Kate Olsen
Libérer: 2024-10-25 07:12:29
original
176 Les gens l'ont consulté

## 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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!