Skip to content

力扣链接:206.反转链表

难度:⭐

解题关键词:链表双指针

解题思路:使用双指针,往后移动,后面的指针的 next 指向前面,然后两个指针都往后移动,直到没有节点。

typescript
function reverseList(head: ListNode | null): ListNode | null {
  // 慢指针
  let pre = null;
  // 快指针
  let cur = head;

  while (cur) {
    // 保存快指针后面的元素
    const temp = cur.next;
    // 将快指针当前指的元素的 next 指向慢指针的元素
    cur.next = pre;
    // 慢指针向前移动
    pre = cur;
    // 快指针向前移动
    cur = temp;
  }

  return pre;
}