返回首页

反转链表:迭代与递归

一、面试常考点

1. 迭代反转三指针

prevcurnext 是标准写法。

2. 递归反转思路

先反转子链表,再把当前节点接到尾部。

二、细节介绍

1. 迭代优势

空间 O(1),更稳。

2. 递归优势

表达简洁,但有栈深风险。

三、示例代码

function reverseList(head) {
  let prev = null
  let cur = head

  while (cur) {
    const next = cur.next
    cur.next = prev
    prev = cur
    cur = next
  }

  return prev
}

四、常用应用场景

1. 区间反转

如反转链表 II、K 个一组反转。

2. 回文链表

后半段反转后做对比。