Heim >Backend-Entwicklung >Golang >Wie kann ich ein Pfad-String-Array in eine baumartige Struktur umwandeln?
Einführung:
Konstruieren einer baumähnlichen Struktur aus Eine Reihe von Pfadzeichenfolgen kann eine Herausforderung sein, aber mit den entsprechenden Techniken kann dies effizient erreicht werden.
Lösung:
Die bereitgestellte Lösung verwendet eine rekursive Funktion, AddToTree , die als Eingabe eine Liste von Knoten verwendet, die den aktuellen Zustand des Baums und die verbleibenden hinzuzufügenden Pfadsegmente darstellen. Der Algorithmus geht wie folgt vor:
Code-Snippet:
<code class="go">func AddToTree(root []Node, names []string) []Node { if len(names) > 0 { var i int for i = 0; i < len(root); i++ { if root[i].Name == names[0] { //already in tree break } } if i == len(root) { root = append(root, Node{Name: names[0]}) } root[i].Children = AddToTree(root[i].Children, names[1:]) } return root }</code>
Vorteile der Lösung:
Beispielausgabe:
Die Code generiert die folgende Ausgabe:
[{ "name": "a", "children": [{ "name": "b", "children": [{ "name": "c" }, { "name": "g" }] }, { "name": "d" }] }]
Das obige ist der detaillierte Inhalt vonWie kann ich ein Pfad-String-Array in eine baumartige Struktur umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!