Heim >Backend-Entwicklung >Golang >So löschen Sie verknüpfte Listenknoten in der Go-Sprache

So löschen Sie verknüpfte Listenknoten in der Go-Sprache

王林
王林Original
2021-01-06 13:45:283354Durchsuche

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].

So löschen Sie verknüpfte Listenknoten in der Go-Sprache

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:

So löschen Sie verknüpfte Listenknoten in der Go-Sprache

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn