Umkehrung einer Zeichenkette in JavaScript

  1. Umkehren einer Zeichenkette mithilfe integrierter Funktionen in JavaScript
  2. Umkehren einer Zeichenkette mithilfe der Rekursion in JavaScript

Es gibt verschiedene Möglichkeiten, wie Sie eine Zeichenkette in JavaScript umkehren können, ohne zusätzlichen Platz zu benötigen. Dies hat den Vorteil, dass Sie ein Programm mit O(1) Raumkomplexität schreiben können. Dies bedeutet, dass Sie keinen zusätzlichen Speicherplatz zum Speichern der Daten benötigen. Sie verwenden nur den gleichen Platz, der uns zur Verfügung gestellt wurde, d. H. Die Größe der Eingabe, und kehren die angegebene Zeichenkette innerhalb dieses Raums um.

Im Folgenden finden Sie einige Möglichkeiten, wie Sie eine Zeichenkette in JavaScript umkehren können.

Umkehren einer Zeichenkette mithilfe integrierter Funktionen in JavaScript

Lassen Sie uns sehen, wie Sie eine Zeichenkette mithilfe der in JavaScript verfügbaren integrierten Funktionen umkehren. Es gibt 3 Funktionen, mit denen Sie diese und jene Funktionen erreichen können - split(), reverse() und join().

Nachfolgend sehen Sie, was jede der drei Funktionen bewirkt.

  1. split() trennt jedes Zeichen einer Zeichenkette und konvertiert es in ein Array.
  2. reverse() nimmt dieses Array und kehrt die darin enthaltenen Elemente um.
  3. join() verbindet die Zeichen, die durch die Funktion reverse() umgekehrt wurden.
function reverse(s){
    return s.split("").reverse().join("");
}

var sss = reverse("adam")
console.log(sss)

Ausgabe:

mada

Um eine Zeichenkette umzukehren, müssen Sie zuerst die Funktion split() auf die EingabeZeichenkette anwenden. Diese Funktion konvertiert die Zeichenkette in ein Objekt, das alle Zeichen dieser Zeichenkette enthält. Danach können Sie mit der integrierten JavaScript-Funktion reverse() einen String umkehren. Diese Funktion funktioniert nicht direkt mit den Zeichenketten. Sie müssen die Zeichenkette daher zuerst mit der Funktion split() in ein Objekt konvertieren.

Jetzt haben Sie ein Objekt, in dem alle Zeichen in umgekehrter Reihenfolge sind. Um dieses Objekt wieder in einen String zu konvertieren, können Sie die Funktion join() verwenden. Diese Funktion nimmt jedes Zeichen aus der Zeichenkette und verbindet es zu einer Zeichenkette.

Umkehren einer Zeichenkette mithilfe der Rekursion in JavaScript

Eine andere Möglichkeit, eine Zeichenkette umzukehren, ist die Verwendung von Rekursion. Hier haben Sie eine Funktion namens reverse() erstellt, die als Argument str verwendet. Beim Schreiben einer rekursiven Funktion müssen Sie zunächst sicherstellen, dass Sie eine Grundbedingung hinzufügen. Eine Grundbedingung ermöglicht es uns, ein rekursives Programm während der Ausführung zu beenden. Wenn das Programm keine Grundbedingung enthält, wird es unendlich ausgeführt, was wir nicht wollen. Aus diesem Grund müssen Sie überprüfen, ob die Zeichenkette, die ein Benutzer an diese Funktion übergibt, leer ist oder nicht. Wenn es leer ist, beenden Sie das Programm. Andernfalls führen Sie rekursive Aufrufe durch.

function reverse (str) {
    if (str === "") {
        return "";
    } else {
        return reverse(str.substr(1)) + str.charAt(0);
    }
}

let reverseStringIs = reverse("adam")
console.log(reverseStringIs)

Ausgabe

mada

Im Teil else haben wir nur eine Codezeile. Sie können weiter denken, dass Sie diese Codezeile in zwei Teile geteilt haben (dies ist nur eine Annahme, damit Sie den Code verstehen können). Der erste Teil ist die reverse(str.subset(1)) und der zweite Teil ist str.charAt(0).

Der erste Teil nimmt den gesamten adam und nimmt seine Teilmenge ab Index Nr. 1 d. H. dam, weil d an erster Stelle steht. Und der zweite Teil nimmt die gesamte Zeichenkette, d. H. adam, und erhält das Zeichen bei Index 0, d. H. a.

Wir führen einen Rekursionsaufruf durch und übergeben diesen Teilstring an die Funktion reverse(), d. H. dam und nicht adam, da Sie bereits einen Teilstring aus dem ursprünglichen String erstellt haben. Wenn Sie nun den Teil else ausführen, haben Sie dam als EingabeZeichenkette. Sie erstellen eine TeilZeichenkette dieser Zeichenkette mit der Funktion substr() ab Index 1. Die TeilZeichenkette lautet am, und die Zeichenkette str.charAt(0) gibt uns das Zeichen bei Index 0 und dh d.

Dieser Vorgang wird fortgesetzt, bis die gesamte Zeichenkette leer ist. An diesem Punkt wird unser Stapel so aussehen.

Rekursionsstapel

Dies ist die Reihenfolge, in der die Zeichen vom Stapel zurückgegeben werden - m, a, d, a. Sobald die Zeichenkette leer wird, beginnt das Programm, die Elemente einzeln vom Stapel zu entfernen, und Sie erhalten die endgültige Zeichenkette in umgekehrter Reihenfolge, madam, als Ausgabe.