27 lines
471 B
Go
27 lines
471 B
Go
// Package q19 implements a solution for https://leetcode.com/problems/remove-nth-node-from-end-of-list/
|
|
package q19
|
|
|
|
type ListNode struct {
|
|
Val int
|
|
Next *ListNode
|
|
}
|
|
|
|
func removeNthFromEnd(head *ListNode, n int) *ListNode {
|
|
stub := &ListNode{Next: head}
|
|
|
|
probe := stub
|
|
for range n {
|
|
probe = probe.Next
|
|
}
|
|
prev := stub
|
|
|
|
for probe.Next != nil {
|
|
probe = probe.Next
|
|
prev = prev.Next
|
|
}
|
|
prev.Next = prev.Next.Next
|
|
|
|
return stub.Next
|
|
}
|
|
|
|
var _ = removeNthFromEnd
|