リンクリストを逆にする
1460 ワード
私は、あなたの多くがこの問題を見たと確信します:リンクされたリストを逆にしてください.リンクリストを逆にすると、リンクされたリストが移動する方向を本質的に反転させます.
たとえば、リンクリスト1 -> 2 -> 3 -> 4を持っている場合、リンクリスト1 <- 2 <- 3 <- 4を作成します.
これを行うには、変数prevに前の値を設定できます.
これが私のコードです.
例えば、1 -> 2 -> 3 -> 4を使用します.
TEMP = 1
ヘッド=2
prev = 1
TEMP = 2
ヘッド=3
prev = 2
temp = 3
ヘッド=4
prev = 3
そして、それはあなたがリンクされたリストを逆にする方法です.
たとえば、リンクリスト1 -> 2 -> 3 -> 4を持っている場合、リンクリスト1 <- 2 <- 3 <- 4を作成します.
これを行うには、変数prevに前の値を設定できます.
これが私のコードです.
def reverseList(head):
prev = None
while head:
temp = head
head = head.next
temp.next = prev
prev = temp
return prev
まず、変数prevをNoneに設定します.次に、リンクされたリストの最初の値を含むHeadをループするwhileループを作成します.現在のノードに等しいtemp変数を設定します.次に、リンク先リストを通じて現在のノードを次のノードに設定します.一方、tempは現在のノードのままです.temp(current)の次のポインタをprevに設定します.その後、繰り返します.例えば、1 -> 2 -> 3 -> 4を使用します.
TEMP = 1
ヘッド=2
prev = 1
TEMP = 2
ヘッド=3
prev = 2
temp = 3
ヘッド=4
prev = 3
そして、それはあなたがリンクされたリストを逆にする方法です.
Reference
この問題について(リンクリストを逆にする), 我々は、より多くの情報をここで見つけました https://dev.to/xshirl/reverse-a-linked-list-leetcode-573eテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol