题型一:

剑指 Offer 18. 删除链表的节点

image.png
思路:
设置一个空指针来放置反转后的链表。原链表每向前走一步就存储前面走过的路,并且转向向前。具体看代码。

  1. var reverseList = function(head) {
  2. let pre = null;
  3. let cur = head;
  4. while(cur){
  5. let temp = cur.next;//先存储该步后面未反转的链表
  6. cur.next = pre;//开始反转
  7. pre = cur;//pre取代现在cur的位置
  8. cur = temp;//cur取值还没反转的链表继续反转工作
  9. }
  10. return pre;
  11. };