Ich habe Versionen dieser Frage für andere Sprachen, aber nicht für JS gesehen.Alle Permutationen einer Zeichenfolge rekursiv drucken (Javascript)
Ist es möglich, dies rekursiv in einer Funktion zu tun?
Ich verstehe, dass ich das erste Element in der Zeichenfolge und dann an jede Lösung für die Rekursion auf den Rest der Zeichenfolge anhängen müssen. Logischerweise verstehe ich, wie die Rekursion gehen muss. Ich verstehe einfach nicht, wie das erste Zeichen auf jede der rekursiven Lösungen
var myString = "xyz";
function printPermut(inputString){
var outputString;
if(inputString.length === 0){
return inputString;
}
if(inputString.length === 1){
return inputString;
}
else{
for(int i = 0; i<inputString.length(); i++){
//something here like:
//outputString = outputString.concat(printPermut(inputString.slice(1))??
//maybe store each unique permutation to an array or something?
}
}
}
hinweis: 'function foo (x) {zurück [xstring (0, 1)] .push (foo (xstring (1)))}' – Tibrogargan
@FuzzyTree alle diese scheinen globale Variablen außerhalb zu verwenden der Funktion oder anderer Funktionen (dh zwei Rückgaben). Ich bin gespannt, ob es in einer Funktion mit einem Eingabeparameter gemacht werden kann. – Acoustic77