So löschen Sie verknüpfte Listenknoten in der Go-Sprache: Verschieben Sie zuerst den Wert des nächsten Knotens auf den aktuell gelöschten Knoten und ändern Sie dann den Nächsten des aktuellen Knotens, z. B. [node.Next = node.Next.Next].
Die Betriebsumgebung dieses Artikels: Windows 10-System, GO 1.11.2, Thinkpad T480-Computer.
Spezifische Methode:
Optimale Lösung:
Verschieben Sie den Wert des nächsten Knotens auf den aktuell gelöschten Knoten und ändern Sie dann den Nächsten des aktuellen Knotens
node.Val = node.Next.Val node.Next = node.Next.Next
Andere Methoden:
p.next = p.next. Weiter Um den Zweck des Löschens zu erreichen
/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func deleteNode(head *ListNode, val int) *ListNode { if head.Val == val{ return head.Next } pre:=head for head.Next.Val != val{ head = head.Next } head.Next = head.Next.Next return pre }
Titel:
Einen Knoten in einer verknüpften Liste löschen
Bitte schreiben Sie eine Funktion, die einen bestimmten (nicht endenden) Knoten in einer verknüpften Liste löschen kann. Sie erhalten nur den Knoten, der muss gelöscht werden.
Es gibt eine vorhandene verknüpfte Liste – head = [4,5,1,9], die wie folgt ausgedrückt werden kann:
Beispiel 1:
Eingabe: head = [4,5,1,9] , Knoten = 5
Ausgabe: [4,1,9]
Erläuterung: Wenn Sie den zweiten Knoten mit dem Wert 5 in Ihrer verknüpften Liste haben, sollte die verknüpfte Liste nach dem Aufruf Ihrer Funktion 4 ->
Beispiel 2:
Eingabe: Kopf = [4,5,1,9], Knoten = 1
Ausgabe: [4,5,9]
Erläuterung: Gegeben sei der dritte Knoten mit dem Wert 1 in Ihrer verknüpften Liste, dann danach Wenn Sie Ihre Funktion aufrufen, sollte die verknüpfte Liste 4 -> 5 -> werden
Das obige ist der detaillierte Inhalt vonSo löschen Sie verknüpfte Listenknoten in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!