010_删除链表的倒数第N个节点
知识点:双指针(快慢指针)、链表
LeetCode第十九题:
语言:GoLang
/**
* 问题一:n是否能够为零,即head是否可以为nil
*/
func removeNthFromEnd(head *ListNode, n int) *ListNode {
slow, fast := head, head
for i := 0; i < n; i++ {
fast = fast.Next
}
pre := slow
for fast != nil {
pre = slow
slow = slow.Next
fast = fast.Next
}
if pre == slow {
return head.Next
}else {
pre.Next = pre.Next.Next
}
return head
}

浙公网安备 33010602011771号