讨论/《链表》 - 反转链表/
《链表》 - 反转链表
func reverseList(head *ListNode) *ListNode {
    return process(nil, head)
}
func process (pre,cur *ListNode) *ListNode {
    // base case
    // 1 -> 2 -> nil
    // 1 <- 2 <- nil
    //     pre   cur
    if cur == nil  {
        return pre
    }
    // 待处理的后半段
    waitProcess := cur.Next
    // 当前指针指向前一个节点
    cur.Next = pre
    // 去处理剩下的部分
    return process(cur,waitProcess)
}
1
展开全部 21 讨论