21.go 527 B

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