题目描述
给你一个链表,删除链表的倒数第 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
}