题目描述
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
解题代码
双指针法思路(图)
代码
// 快慢指針 func removeNthFromEnd(head *ListNode, n int) *ListNode { dummyHead := &ListNode{} dummyHead.Next = head cur := head prev := dummyHead i := 1 for cur != nil { cur = cur.Next if i > n { prev = prev.Next } i++ } prev.Next = prev.Next.Next return dummyHead.Next }
运行结果