Update LL delete mid challenge (#112)

Update constraints and assumptions, solution, and test case.
This commit is contained in:
Donne Martin
2016-10-31 07:19:56 -04:00
committed by GitHub
parent 2d651a6eca
commit aa4c8ae5b4
3 changed files with 17 additions and 12 deletions

View File

@@ -35,7 +35,7 @@
"\n",
"* Can we assume this is a non-circular, singly linked list?\n",
" * Yes\n",
"* What if the final node is being deleted, for example a single node list? Do we make it a dummy with value None?\n",
"* What if the final node is being deleted, do we make it a dummy with value None?\n",
" * Yes\n",
"* Can we assume we already have a linked list class that can be used for this problem?\n",
" * Yes"
@@ -98,14 +98,10 @@
"class MyLinkedList(LinkedList):\n",
"\n",
" def delete_node(self, node):\n",
" if self.head is None or node is None:\n",
" return\n",
" if self.head == node:\n",
" self.head = None\n",
" if node is None:\n",
" return\n",
" if node.next is None:\n",
" node.data = None\n",
" node.next = None\n",
" else:\n",
" node.data = node.next.data\n",
" node.next = node.next.next"
@@ -150,7 +146,7 @@
" head = Node(2)\n",
" linked_list = MyLinkedList(head)\n",
" linked_list.delete_node(head)\n",
" assert_equal(linked_list.get_all_data(), [])\n",
" assert_equal(linked_list.get_all_data(), [None])\n",
"\n",
" print('Test: Multiple nodes')\n",
" linked_list = MyLinkedList(None)\n",