Rekursive Baum-Traversal-Methode Mit Rückgabetyp Array

Gibt es eine Möglichkeit, rekursiv Durchlaufen einen Baum und gibt ein array zurück, das den Gültigkeitsbereich, die rekursive Methode?

Also ich habe letztens antwortete jemand auf die Frage in diesem Thema. Diese Frage kann hier gefunden werden: ALSO Frage. Meine Lösung verwendet ein array außerhalb des Bereichs der Rekursion, und daher die Methode nicht (oder zumindest sollte wohl nicht) return array. Jedoch ist es ein Weg, um schreiben Sie eine rekursive Methode für die Traversierung von Bäumen, so dass es ein array zurückgibt? Auch das schreiben einer ersten Methode, die Aufrufe der rekursiven wäre gut, aber ich kann nicht denken, ein guter Weg, dies zu tun.

Hier ist der code, den ich schlug vor:

private List nodeValues = new ArrayList();

public void traversePreRecursive(BinarySearchTreeNode node) 
{
    if (node != null)
    {
        nodeValues.add(node.getValue());
        traversePreRecursive(node.getLeft());
        traversePreRecursive(node.getRight());
    }
}

Wie Sie sehen können die ArrayList ist außerhalb des Bereichs der rekursions - Und daher wieder nicht sehr viel Sinn machen. Gibt es einen besseren Weg, dies zu tun?

Es wäre gut, wenn ein java-tag auf diese Frage
Hinzugefügt. War nicht sicher, ob es wäre eine Hilfe oder eine Behinderung, viele Sprachen konnte, haben ein ähnliches Problem.

InformationsquelleAutor sage88 | 2013-06-08

Schreibe einen Kommentar