29 lines
421 B
Go
29 lines
421 B
Go
package q82
|
|
|
|
type ListNode struct {
|
|
Val int
|
|
Next *ListNode
|
|
}
|
|
|
|
func deleteDuplicates(head *ListNode) *ListNode {
|
|
root := ListNode{}
|
|
last := &root
|
|
|
|
c := head
|
|
for c != nil {
|
|
if c.Next != nil && c.Next.Val == c.Val {
|
|
dupVal := c.Val
|
|
for c != nil && c.Val == dupVal {
|
|
c = c.Next
|
|
}
|
|
continue
|
|
}
|
|
last.Next = c
|
|
last = c
|
|
c = c.Next
|
|
last.Next = nil
|
|
}
|
|
return root.Next
|
|
}
|
|
|
|
var _ = deleteDuplicates
|