def remove_dups(ll):
    """Remove duplicate node values from linked list that starts at `head`.

        Runtime: O(N)
    """
    n = ll.head
    vals = set([n.value])

    while n.next:
        if n.next.value in vals:
            n.next = n.next.next
        else:
            vals.add(n.next.value)
            n = n.next
    return ll.head