unliar / unliar.github.io

一个已经不再使用的静态博客,新的博客在后边。
https://happysooner.com
0 stars 0 forks source link

反转链表 #46

Open unliar opened 3 years ago

unliar commented 3 years ago
var reverseList = function (head) {
  let pre = null; // 创建这个变量作为反转链表的尾部
  let cur = head; // 这个变量用于不断的移动指针。
  // 开始进行翻转
  while (cur !== null) {
        // 翻转之前需要先保存next节点,不然翻转之后找不到这个位置的元素了
    let next = cur.next;
        // 当前节点next指针翻转指向pre前置节点
    cur.next = pre;
        // 将pre 移动到 cur当前的位置
    pre = cur;
        // 将cur 移动到 next的位置 执行下一次的循环
    cur = next
  }
  // 退出while循环的条件是 cur 为 null。只要明白一件事情
  // pre 指向的是cur的前一个元素。所以翻转之后返回的应该是pre
  return pre;
};

作者:chu-peng-fei 链接:https://leetcode-cn.com/problems/reverse-linked-list/solution/javascriptjie-fa-jian-da-yi-dong-206fan-6boxf/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。