26 lines
366 B
Go
26 lines
366 B
Go
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
|