image.png

    1. package main
    2. type ListNode struct {
    3. Val int
    4. Next *ListNode
    5. }
    6. func deleteDuplicates(head *ListNode) *ListNode {
    7. dummyHead:=&ListNode{
    8. Val: -1,
    9. Next: head,
    10. }
    11. pre := dummyHead
    12. curr := head
    13. count :=0
    14. for curr!=nil&&curr.Next!= nil{
    15. // 有重复一直循环
    16. for curr.Next!=nil&&curr.Next.Val==curr.Val{
    17. count ++
    18. curr = curr.Next
    19. }
    20. if count>0 {
    21. pre.Next= curr.Next
    22. curr = curr.Next
    23. count = 0
    24. }else {
    25. pre = curr
    26. curr = curr.Next
    27. }
    28. }
    29. return dummyHead.Next
    30. }
    31. func main() {
    32. }

    image.png