一つずつ舐めながら,重複しているならポインタの付替えをする
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| class LinkedListNode:
def __init__(self, data, next_node):
self.data = data
self.next_node = next_node
def remove_dups_from_linked_list(head):
table = set()
prev = None
curr = head
while curr is not None:
if curr.data not in table:
table.add(curr.data)
prev = curr
else:
prev.next_node = curr.next_node
curr = curr.next_node
|