Pythonに基づいて、2つの反転リンク方法コードの例を実現します。


タイトル:
シングルチェーン表を反転します。
例:
入力:1->2->3->4->5->NULL
出力:5->4->3->2->1->NULL
ステップ:
チェーンを繰り返しまたは再帰的に反転させることができます。この問題を二つの方法で解決してもいいですか?
考え方:
主に、反転中にノードが失われないように注意する必要があります。2つのポインタを使ってもいいし、3つのポインタを使ってもいいです。


Python解法一:

class Solution:
  def reverseList(self, head):
    cur, prev = head, None
    while cur:
      temp = cur.next
      cur.next = prev
      prev = cur
      cur = temp
    return prev
Python解法二:

class Solution:
  def reverseList(self, head):
    if head == None or head.next == None:
      return head
    prev = None
    cur = head
    post = head.next

    while post:
      cur.next = prev
      prev = cur
      cur = post
      post = post.next
    cur.next = prev
    return cur
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。