Geben Sie bei einem möglicherweise verschachtelten, nicht leeren Array von positiven einstelligen Ganzzahlen (nicht garantiert eindeutig) die ASCII-Art-Darstellung als Baum aus, und verwenden Sie dabei die Zeichen in der Box ┌ ┴ ┐ ─ │ ┬ ┼
. (Diese wurden aus Codepage 437 kopiert, Sie können jedoch eine beliebige entsprechende Darstellung verwenden.)
Jede Ganzzahl des Arrays sollte ein Blatt des Baums sein. Elemente der gleichen Ebene tief im Array sollten auf der gleichen Ebene der Struktur vorhanden sein. Alle Elemente sollten durch genügend Leerzeichen voneinander getrennt sein (Sie können bestimmen, wie breit mindestens ein Leerzeichen dazwischen sein muss).
Geben Sie beispielsweise für ein bestimmtes Array [[1, [2]], [3, [4, 5]]]
den folgenden Baum aus
┌─┴─┐
┌┴┐ ┌┴─┐
1 │ 3 ┌┴┐
2 4 5
Für array könnte [1, 2, 3]
der Baum so aussehen
┌─┼─┐
1 2 3
Aber das Array [[1, 2, 3]]
würde so aussehen
│
┌─┼─┐
1 2 3
Während das Array [1, [1, [1, [1]]]]
aussehen könnte
┌─┴┐
1 ┌┴─┐
1 ┌┴┐
1 │
1
Als komplizierteres Beispiel [1, [[[2, 3], 4], 5]]
könnte es sein
┌┴───┐
1 ┌─┴┐
┌─┴┐ 5
┌┴┐ 4
2 3
oder mehrere andere Variationen.
- Die Ein- und Ausgabe kann auf jede bequeme Weise erfolgen .
- Sie können es an STDOUT drucken oder als Funktionsergebnis zurückgeben.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig.
- Beliebige Leerzeichen sind zulässig, sofern die Zeichen richtig ausgerichtet sind.
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
1
eine Anordnung von 3 Artikel ist: [2,3]
, 4
, und 5
. Aber 4 und 5 sind nicht benachbart.
[1, [[[2, 3]], [4], 5]]
für mich so aus.
[1,[[[2,3],4],5]]
Dies könnte ein interessanter Testfall sein, da die Wurzel künstlich erweitert werden muss, damit der rechte Teilbaum nicht mit dem linken Teilbaum kollidiert.