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

Une chaîne est-elle une rotation d'une autre ? Une approche simple en Java.

Mary-Kate Olsen
Libérer: 2024-10-25 01:56:30
original
567 Les gens l'ont consulté

Is a String a Rotation of Another? A Simple Approach in Java.

Comment déterminer si une chaîne est une rotation d'une autre

Lors des entretiens logiciels, les candidats peuvent être confrontés à des questions intrigantes comme celle-ci : étant donné deux chaînes s1 et s2, comment savoir si s1 est une variante rotée de s2 ?

Une chaîne subit une rotation lorsqu'elle est divisée en un point de pivotement et les deux moitiés sont rattachées dans l'ordre inverse. . Par exemple, "stackoverflow" pourrait être tourné pour devenir "tackoverflows" ou "ackoverflowst".

Une solution possible, proposée par la personne interrogée, consiste à trouver le préfixe le plus long de s2 qui est une sous-chaîne de s1. Ceci identifie le point de rotation. Une fois trouvé, s2 peut être divisé en deux sous-chaînes et vérifier si leur concaténation est égale à s1.

Cependant, l'intervieweur a demandé une solution plus simple. Considérez l'approche suivante :

  • Assurez-vous que s1 et s2 ont la même longueur.
  • Vérifiez si s2 existe en tant que sous-chaîne dans s1, ce qui est obtenu en concaténant s1 avec lui-même et en recherchant s2.

En Java, cette méthode peut être implémentée comme suit :

<code class="java">boolean isRotation(String s1,String s2) {
    return (s1.length() == s2.length()) &amp;&amp; ((s1+s1).indexOf(s2) != -1);
}</code>
Copier après la connexion

En utilisant la concaténation de chaînes et la recherche, cette solution détermine efficacement si une chaîne est une version pivotée de un autre.

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!