Method 1: recursive link delsame (link head) {/* variant: List {k .. n-1} has no repeated element, after adding list {k-1}, in order to keep the variant to be from list {k-1 .. n-1} for Two-to-two comparison, if the same element exists, it must start with two */link pointer, temp = head; If (Head-> next = NULL) return head; head-> next = delsame (Head-> netx); pointer = head-> next; while (pointer! = NULL) {If (Head-> value = pointer-> value) {temp-> next = pointer-> next; free (pointer ); pointer = temp-> next;} else {pointer = pointer-> next; temp = temp-> next ;}} return head;} Method 2: Create a hash_map by using hash, the key is the content of the traversal table, and the value is the number of times 1) from the original traversal table. If the content of the linked list is not in hash_map, add and traverse it backward. 2) if the content of the linked list is in hash_map (value = 1), delete the node and continue traversing backward.