Hallo,
ich hänge an einer Aufgabe und komme einfach nicht weiter.
Ich soll aus einem Baum den tiefsten Knoten herausfinden, meine Funktion läuft soweit auch bis zum letzten Knoten runter, gibt mir dann aber wieder den 1. Knoten als Ergebnis zurück.
Irgendwas haut bei den Rückgabewerten nicht hin, aber ich komme einfach nicht drauf, wo mein Fehler liegt.
ich hänge an einer Aufgabe und komme einfach nicht weiter.
Ich soll aus einem Baum den tiefsten Knoten herausfinden, meine Funktion läuft soweit auch bis zum letzten Knoten runter, gibt mir dann aber wieder den 1. Knoten als Ergebnis zurück.
Irgendwas haut bei den Rückgabewerten nicht hin, aber ich komme einfach nicht drauf, wo mein Fehler liegt.
Java:
List<Node>sub = new ArrayList<Node>();
Node A = new Node("A");
Node B = new Node("B");
Node C = new Node("C");
Node D = new Node("D");
Node E = new Node("E");
A.sub.add(B);
A.sub.add(C);
C.sub.add(D);
D.sub.add(E);
Java:
public static Node countDepth(Node knot, int level) {
if (knot.sub.isEmpty()) {
return knot;
} else {
for (Node k : knot.sub) {
Node result = countDepth(k, level + 1);
System.out.println(result);
if (result != null) {
level += 1;
}
}
}
return knot;
}