Ich habe Probleme mit diesem Problem das Verständnis der Codierung Interview Risse:Wann verwendet LinkedListNode vs LinkedList
:Code über Duplikate aus einer unsortierten verknüpften Liste
Lösung zu entfernen,
public static void deleteDups(LinkedListNode n){ Hashtable table = new Hashtable(); LinkedListNode previous = null; while(n != null){ if(table.containsKey(n.data)) { previous.next = n.next; } else{ table.put(n.data, true); previous = n; } n = n.next; } }
Ich verstehe nicht, warum Sie eine LinkedListNode statt einer LinkedList übergeben. Wenn Sie die Duplikate aus einer verknüpften Liste löschen möchten, warum nehmen Sie nicht einfach die gesamte Liste auf und durchlaufen sie?
Angenommen, "n" ist der Kopf der Liste, es gibt keinen Unterschied. – shmosel
Mögliches Duplikat von [Was ist LinkedListNode in Java] (http://stackoverflow.com/questions/5374077/what-is-linkedlistnode-in-java) –
Durch die Übergabe eines Knotens anstelle der gesamten Liste kann der Benutzer einen Start definieren Punkt (der Knoten, um an zu beginnen), anstatt die gesamte Liste zu tun. Ich weiß nicht, ob das irgendwo gebraucht wird. Wenn nicht, dann gibt es keinen großen Unterschied. –