剑指 Offer 24. 反转链表

87 阅读1分钟

剑指 Offer 24. 反转链表

image.png

image.png

image.png cur只是为了循环遍历链表每一项,因为该表每一项的指向所以需要变量next去记录当前的指向,为了下一次循环cur做准备。

var reverseList = function (head) {
  //设置节点 cur 和节点 pre,其中 cur 为原链表的头节点,pre 为原链表之前的空节点
  var cur = head,
    pre = null;
  // 不断的遍历链表,直到遍历到链表的尾部
  while (cur != null) {
    // 获取的当前节点 cur 的下一个节点
    var next = cur.next;
    // 修改当前节点的下一个节点为 pre
    cur.next = pre;
    // pre 向前移动,变成了 cur
    pre = cur;
    // cur 向前移动,变成了 next
    cur = next;
  }
  // 返回 pre
  return pre;
};