human
JavaScriptコードを書き込み、リンクリストを逆にします
gpt
```js
function reverse(head) {
  let prev = null;
  let node = head;
  while (node) {
    // Save next, so we can proceed to the next node in the original list
    // After reversing the pointer.
    const next = node.next;

    // Reverse the pointer to point back at the previous node.
    node.next = prev;

    // Shift pointers ahead
    prev = node;
    node = next;
  }
  return prev;
}
```

説明：

prevはリストを走査する際に前のノードを追跡するために使用します。
node.nextを上書きする前にまず次のノードを保存する。
ポインタを反転させ、1つのループで先にシフトすることで、これは効率的なO(n)ソリューションとなる。