Maison  >  Article  >  développement back-end  >  ## Comment la concaténation de chaînes peut-elle déterminer efficacement la rotation des chaînes ?

## Comment la concaténation de chaînes peut-elle déterminer efficacement la rotation des chaînes ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-24 18:32:15485parcourir

## How Can String Concatenation Efficiently Determine String Rotation?

Détermination de la rotation des chaînes à l'aide de la concaténation de chaînes

Un défi couramment rencontré lors des entretiens de programmation consiste à vérifier si une chaîne est une version pivotée d'une autre. Étant donné deux chaînes s1 et s2, la tâche est de vérifier efficacement si l'une est simplement une permutation cyclique de l'autre.

Dans ce cas, le candidat a proposé une solution qui consiste à identifier le point de rotation et à décomposer s2 en deux segments, s2a et s2b. En concaténant ces segments et en comparant le résultat à s1, la rotation peut être confirmée.

Cependant, l'intervieweur a exprimé sa préférence pour une approche plus directe. Voici une solution plus simple utilisant la concaténation de chaînes et la recherche de chaînes :

Implémentation Java :

<code class="java">public static boolean isRotation(String s1, String s2) {
    return (s1.length() == s2.length()) && ((s1 + s1).indexOf(s2) != -1);
}</code>

Implémentation Python :

<code class="python">def is_rotation(s1, s2):
    return len(s1) == len(s2) and s2 in s1 * 2</code>

Dans cette solution, nous nous assurons d'abord que les deux chaînes sont de même longueur. Ensuite, nous concaténons s1 avec lui-même, créant ainsi une chaîne contenant à la fois la chaîne d'origine et sa version pivotée. En vérifiant si s2 existe dans cette chaîne concaténée, nous pouvons déterminer si l'une est une rotation de l'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!

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