php Xiaobian Yuzai は、一般的なデータ構造アルゴリズムである「行内逆リンク リスト」を紹介します。このアルゴリズムでは、リンク リスト内のノードの順序を逆にする必要があります。簡潔で効率的なコード実装により、リンク リストの順序を完全に逆転させて、この操作を 1 行で完了できます。このアルゴリズムは実際のプログラミングに非常に役立ち、データ処理とアルゴリズム設計の両方で重要な役割を果たします。この素晴らしいアルゴリズムについて一緒に学びましょう!
go on leetcodeで1行を使った逆リンクリストの解決策を見つけました。機能しますが、実装方法がわかりません。
###それでおしまい:### リーリーたとえば、リストを
[1->2->3->4->5->nil] とします。
これが次のように機能することはわかっています:
(head.next = nil
、つまり今head = [1->nil]
)
(このステップでは、前のステップの head
と同様に、prev = [1->nil]
になります)。
これは魔法です。 go の 2 番目のステップの prev
には head = [1->nil]
を使用しますが、このステップの後は head = [2->3-> ; 4->5->nil]
の場合、反復され、2 番目のステップでは prev = [2->1->nil]
, head = [3- >4->5->nil]
など。
この行は次のように表現できます:
そうですか?なぜこうなった?
解決策
わかりやすくするために、例を見てみましょう。
###設定###これは私たちのリンクリストです: 1 -> 2 -> 3 -> 4 -> なし
先頭は *ノード 1
prev はゼロ (初期化されていません)
head (*ノード 1) = head.next (*ノード 2)
head (*ノード 2) = head.next (*ノード 3)
以上が1 行の逆方向リンクリストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。