递归反转单链表可视化

初始:A → B → C → D | 目标:A ← B ← C ← D

观察递归调用栈如何「先下沉、再回升」,并在回升时逐层反转指针
head 当前递归头节点
newHead 反转后的新头节点
调用栈 递归调用层次
递归调用栈

算法代码(Java)

public ListNode reverseList(ListNode head) {    if (head == null || head.next == null) return head;    ListNode newHead = reverseList(head.next);  // ① 递归下沉    head.next.next = head;                      // ② 让后继指回当前节点    head.next = null;                          // ③ 断开原来的正向指针    return newHead;                             // ④ 把新头逐层返回}
点击「下一步」开始演示递归反转链表