2016-10-06 5 views
1

Im Wesentlichen wird dieses Problem in einer verknüpften Liste als Parameter behandelt und subtrahiert seinen Inhalt von der aufrufenden verknüpften Liste, wenn in beiden derselbe Inhalt vorhanden ist. Ich muss es so machen (also keine Änderung der Parameter).Subtrahieren einer übergebenen verknüpften Liste in der Methode von der aufrufenden verknüpften Liste

Zum Beispiel: l1subtractList (l2) würde den Inhalt von l2 von l1 subtrahieren.

Das Problem hier ist, dass die aufrufende Linked List 2 der gleichen Nummer hat und diese Nummer auch in der Linked List als Parameter übergeben wird. Ich muss nur eine Instanz davon entfernen.

Ich habe es geschafft, alles außer dieser doppelten Zahl zu subtrahieren, aber ich bin mir nicht sicher, was ich falsch mache. Denken Sie daran, dass dies ein sehr neues Thema für mich ist, also bin ich vielleicht weit weg von der Basis. Aber ich schätze jede und jede Hilfe, die Sie anbieten können. Vielen Dank.

public void subtractList(LinkedList list) 
{ 
    Node current = head; 
    Node<Integer> temp = list.getFirst(); 
    Integer count = -1; 

    while (current != null) 
     if (current == temp){ 
      count++; 
      list.listRemove(count); 
      temp = list.getFirst(); 
     } 
     else 
     { 
     current = current.getNext();  
     } 

} 

Antwort

0

Was ist die Methode listRemove? Warum musst du zählen? Durchqueren Sie einfach das Argument list und prüfen Sie, ob das Element temp in der aufrufenden verknüpften Liste existiert. Sie werden eine äußere Schleife müssen die Liste übergeben als Argument und eine innere Schleife iteriert über die Anrufliste durchqueren den Wert des Elements prüfen muss entfernt werden und es zu entfernen, wenn

while(temp!=null) 
{ 
while(current!=null){ 
    //Check if element exists in list 
    //If yes, remove it from the calling list 
} 
//Repeat 
temp = temp.getNext(); 
} 
+0

erforderlich Es ist ein spezielles Verfahren dazu Zuordnung. Ich habe es herausgefunden, aber deine Antwort hat mir geholfen, dorthin zu gelangen! Danke –

+0

Ihre Begrüßung. Ich wollte, dass du selbst dorthin gelangst. – anbohuyn

Verwandte Themen