Hallo,
folgender Sachverhalt: Angenommen, es gibt eine Verkettete Liste. Jede Node hat ein "char c" und eine Referenz auf die nächste Node, also "CharacterNode next".
Zitat
z.B. so -->
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
Quelle
http://www.google.com/url?sa=i&rct=j…361388169138675
Demnach wäre A.next = L, L.next = I usw... bis T.next=null.
Meine Frage lautet nun, wie man die Liste ab einem beliebigen Startknoten (darf willkürlich gewählt werden) durchläuft, und die darin enthaltenen char's zu einem String zusammenfasst, um anschließend die Länge des Strings zurückzugeben. Wenn der Startknoten also I wäre, sollte das Ergebnis 3 lauten (IST) lauten. Das ganze soll rekursiv geschehen, und jeder Knoten darf max. einmal besucht werden.
Der Methodenkopf sieht so aus: public int xyz(int start) { ... }
int start bestimmt die Startposition für den Ergebnis-String, also ab welchem Knoten angefangen werden soll zu einem String zusammenzufassen, und dann die Länge des Strings zurückzugeben.
Bitte um Rat, und bitte keine Alternativansätze vorschlagen, sondern an die Angabe halten, da die Aufgabenstellung es so haben will...
public int xyz(int start){
if(start < 0 || (next==null && start > 0)){
throw new IndexOutOfBoundsException();
}
if(start>0) return next.xyz(--start);
String help = new String("");
if(start==0 && next != null){
...
}
return help.length();
}
Alles anzeigen
Ich weiß nicht so genau, wie ich den String bei jedem Rekursionsschritt wachsen lassen kann.
Vielen Dank jetzt schon mal.