83.go 454 B

123456789101112131415161718192021222324252627
  1. package main
  2. /**
  3. * Definition for singly-linked list.
  4. * type ListNode struct {
  5. * Val int
  6. * Next *ListNode
  7. * }
  8. */
  9. // lots of pits!! [] [1] [1 1 1]
  10. func deleteDuplicates(head *ListNode) *ListNode {
  11. if head == nil {
  12. return nil
  13. }
  14. if head.Next == nil {
  15. return head
  16. }
  17. curr := head
  18. for curr != nil && curr.Next != nil {
  19. if curr.Next.Val == curr.Val {
  20. curr.Next = curr.Next.Next
  21. } else {
  22. curr = curr.Next
  23. }
  24. }
  25. return head
  26. }