Delete duplicate-value nodes from a sorted linked list

  • + 0 comments

    go

    func removeDuplicates(llist *SinglyLinkedListNode) *SinglyLinkedListNode { myMap := make(map[int32]int32)

    dump := llist
    before := llist
    for (dump != nil) {
        _, exists := myMap[dump.data]
        if exists {
            before.next = dump.next
            dump = dump.next
        } else {
            myMap[dump.data] = 1
            before = dump
            dump = dump.next
        }
    }
    
    return llist
    

    }