Ich war in Codewars heute Morgen und es gibt diese Kata fragen nach einer Funktion, um eine Zeichenfolge als Parameter durch Rekursion Methode übergeben.Bitte erklären Sie diese rekursive JavaScript-Funktion
Die beste Lösung für dieses Problem aufgelistet war dies.
function reverse(str) {
return str.length > 1 ? reverse(str.slice(1)) + str[0] : str;
}
Ich recherchieren heute Morgen alle für diese und ich weiß immer noch nicht, was hier passiert:
+ str[0]
bitte klärt das für mich Kann jemand?
Ich nehme an, "beste Lösung" bedeutet beste rekursive Lösung?Ich bezweifle, dass dies eine effiziente Möglichkeit ist, eine Saite umzukehren. –
Dies ist eine schlechte Lösung, da der rekursive Aufruf nicht in der Endposition ist. Versuchen Sie, die Funktion in eine tail rekursive Version zu konvertieren, um das Thema besser zu verstehen. Tipp: Accumulator passing style. – ftor