23 lines
477 B
Go
23 lines
477 B
Go
// Package q2095 implements a solution for https://leetcode.com/problems/delete-the-middle-node-of-a-linked-list/
|
|
package q2095
|
|
|
|
type ListNode struct {
|
|
Val int
|
|
Next *ListNode
|
|
}
|
|
|
|
func deleteMiddle(head *ListNode) *ListNode {
|
|
stub := &ListNode{Next: head}
|
|
|
|
fast, slow := stub, stub
|
|
for fast.Next != nil && fast.Next.Next != nil {
|
|
fast = fast.Next.Next
|
|
slow = slow.Next
|
|
}
|
|
if slow.Next != nil {
|
|
slow.Next = slow.Next.Next
|
|
}
|
|
return stub.Next
|
|
}
|
|
|
|
var _ = deleteMiddle
|