So drücken Sie die Rücktaste und geben die Zeichenfolge erneut ein:
- Beginnen Sie mit der ersten Zeichenfolge.
- Entfernen Sie die Zeichen am Ende, bis das Ergebnis ein Präfix der zweiten Zeichenfolge ist. (Dies kann 0 Schritte dauern.)
- Fügen Sie am Ende Zeichen hinzu, bis das Ergebnis der zweiten Zeichenfolge entspricht. (Dies kann auch 0 Schritte dauern.)
Zum Beispiel sieht der Pfad von fooabc
nach so fooxyz
aus:
fooabc
fooab
fooa
foo
foox
fooxy
fooxyz
Aufgabe
Wenn Sie eine Liste von Wörtern haben, schreiben Sie ein Programm, das seinen Weg von der leeren Zeichenfolge mit der Rücktaste und erneuter Eingabe zu allen Wörtern in der Liste nacheinander zurück zur leeren Zeichenfolge führt. Alle Zwischenzeichenfolgen ausgeben.
In Anbetracht der Eingabeliste ["abc", "abd", "aefg", "h"]
sollte die Ausgabe beispielsweise wie folgt aussehen:
a
ab
abc
ab
abd
ab
a
ae
aef
aefg
aef
ae
a
h
Regeln
Sie können eine Liste von Zeichenfolgen oder eine einzelne Zeichenfolge mit einem Trennzeichen Ihrer Wahl zurückgeben oder drucken. Sie können optional die ersten und letzten leeren Zeichenfolgen einfügen. Die Eingabe enthält garantiert mindestens ein Wort, und jedes Wort enthält garantiert nur ASCII-Kleinbuchstaben ( a
- z
). Bearbeiten: Aufeinanderfolgende Zeichenfolgen in der Eingabe stimmen garantiert nicht überein.
Das ist Code-Golf ; kürzester Code in Bytes gewinnt.
Eine Referenzimplementierung in Python 3: Probieren Sie es online aus!
["abc","abc"]
?
a,abc,abcde,abc,a,abc,abcde