单链表反转可视化

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

观察 prev、curr 两个指针与 nextTemp 临时变量的移动
prev 前驱指针
curr 当前指针
nextTemp 临时变量

算法代码(Kotlin)

class ListNode(var value: Int) {    var next: ListNode? = null}fun reverseList(head: ListNode?): ListNode? {    var prev: ListNode? = null    var curr = head    while (curr != null) {        val nextTemp = curr.next   // ① 先存下一个,防止断链(关键)        curr.next = prev           // ② 当前指向前驱        prev = curr                // ③ prev 前移        curr = nextTemp            // ④ curr 前移    }    return prev                    // prev 即新头}
点击「下一步」开始演示链表反转