Tweak remove dupes solution to use a single node 'reference'.

This commit is contained in:
Donne Martin 2016-02-15 06:29:11 -05:00
parent 21add6f4f5
commit 08fabdf58d

View File

@ -127,16 +127,16 @@
"class MyLinkedList(LinkedList):\n", "class MyLinkedList(LinkedList):\n",
"\n", "\n",
" def remove_dupes(self):\n", " def remove_dupes(self):\n",
" seen_data = set()\n", " if self.head is None:\n",
" curr = self.head\n", " return\n",
" prev = None\n", " node = self.head\n",
" while curr is not None:\n", " seen_data = set({node.data})\n",
" if curr.data in seen_data:\n", " while node.next is not None:\n",
" prev.next = curr.next\n", " if node.next.data in seen_data:\n",
" node.next = node.next.next\n",
" else:\n", " else:\n",
" seen_data.add(curr.data)\n", " seen_data.add(node.next.data)\n",
" prev = curr\n", " node = node.next\n",
" curr = curr.next\n",
"\n", "\n",
" def remove_dupes_in_place(self):\n", " def remove_dupes_in_place(self):\n",
" curr = self.head\n", " curr = self.head\n",