22 lines
363 B
Go
22 lines
363 B
Go
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
|