package main /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ // lots of pits!! [] [1] [1 1 1] func deleteDuplicates(head *ListNode) *ListNode { if head == nil { return nil } if head.Next == nil { return head } curr := head for curr != nil && curr.Next != nil { if curr.Next.Val == curr.Val { curr.Next = curr.Next.Next } else { curr = curr.Next } } return head }