Go言語でリンクリストノードを削除する方法

王林
リリース: 2023-01-11 09:23:19
オリジナル
3218 人が閲覧しました

Go 言語でリンク リスト ノードを削除する方法: まず、次のノードの値を現在削除されているノードに移動し、次に現在のノードの Next を変更します (例: [node.Next = node.Next)。 。次]。

Go言語でリンクリストノードを削除する方法

#この記事の動作環境: Windows10 システム、GO 1.11.2、thinkpad t480 コンピューター。

具体的な方法:

最適な解決策:

次のノードの値を現在削除されているノードに移動し、次のノードの Next

node.Val = node.Next.Val node.Next = node.Next.Next
ログイン後にコピー

を変更します。現在のノード その他の方法:

p.next = p.next.next は削除の目的を達成できます

/** * 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 }
ログイン後にコピー

Title:

リンクされたリスト内のノードを削除します
リンクされたリスト内の特定の (終端ではない) ノードを削除できる関数を作成してください。削除を要求されたノードのみが与えられます。

既存のリンク リストがあります – head = [4,5,1,9]。これは次のように表現できます。

Go言語でリンクリストノードを削除する方法

例 1:

入力: head = [4,5,1,9]、node = 5
出力: [4,1,9]
説明: リンク リストに値 5 を持つ 2 番目のノードがあるとします。 , 次に、関数を呼び出した後、リンク リストは 4 -> 1 -> 9 になるはずです。
例 2:

入力: head = [4,5,1,9]、node = 1
出力: [4,5,9]
説明: リンク リスト内の 3 番目のノードの値が 1 である場合、関数を呼び出した後、リンク リストは 4 -> 5 -> になるはずです。 ; 9.

コード

削除の目的を達成するために引き続き注意してください

/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func deleteNode(node *ListNode) { for node.Next.Next != nil { node.Val = node.Next.Val node = node.Next } node.Val = node.Next.Val node.Next = nil }
ログイン後にコピー

関連する推奨事項:golangチュートリアル

以上がGo言語でリンクリストノードを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!