In Elixir haben (verknüpfte) Listen das Format, [head | tail]
bei dem head alles sein kann und tail eine Liste des Restes der Liste ist. []
Die leere Liste ist die einzige Ausnahme.
Listen können auch so geschrieben werden, wie [1, 2, 3]
es äquivalent zu ist[1 | [2 | [3 | []]]]
Ihre Aufgabe ist es, eine Liste wie beschrieben zu konvertieren. Die Eingabe ist immer eine gültige Liste (in Elixir), die nur Zahlen enthält, die dem regulären Ausdruck entsprechen \[(\d+(, ?\d+)*)?\]
. Sie können die Eingabe mit (ein Leerzeichen nach jedem Komma) oder ohne Leerzeichen vornehmen. Die Ausgabe kann mit (jeweils ein Leerzeichen vor und nach |
) oder ohne Leerzeichen erfolgen.
Bei Eingaben mit führenden Nullen können Sie entweder ohne Nullen oder mit ausgeben.
Die Eingabe muss wie die Ausgabe als Zeichenfolge interpretiert werden (wenn eine Funktion geschrieben wird).
Beispiele
[] -> []
[5] -> [5 | []]
[1, 7] -> [1 | [7 | []]]
[4, 4, 4] -> [4 | [4 | [4 | []]]]
[10, 333] -> [10 | [333 | []]]
verwandt , kein Duplikat, da dies zum Teil das Hinzufügen von Modus ]
zum Ende beinhaltet. Außerdem unterscheidet sich die Antwort von Haskell von der hier.