      "class MyLinkedList(LinkedList):\n",
      "\n",
      "    def kth_to_last_elem(self, k):\n",
      "        if self.head is None:\n",
      "            return\n",
      "        if k >= len(self):\n",
      "            return\n",
      "        curr = self.head\n",
      "        prev = self.head\n",
      "        counter = 0\n",
      "\n",
      "        # Give current a headstart, incrementing it\n",
      "        # once for k = 1, twice for k = 2, etc\n",
      "        while counter < k:\n",
      "            curr = curr.next\n",
      "            counter += 1\n",
      "            if curr is None:\n",
 
</s> remove     "        while counter < k:\n",
    "            curr = curr.next\n",
    "            counter += 1\n",
    "            if curr is None:\n",
    "                return\n",
    "\n",
    "        # Increment both pointers until current reaches the end\n",
    "        while curr.next is not None:\n",
    "            curr = curr.next\n",
    "            prev = prev.next\n",
    "        return prev.data"
 </s> add     "        for _ in range(k):\n",
    "            fast = fast.next\n",
    "            # If k >= num elements, return None\n",
    "            if fast is None:\n",
    "                return None\n",
    "\n",
    "        # Increment both pointers until fast reaches the end\n",
    "        while fast.next is not None:\n",
    "            fast = fast.next\n",
    "            slow = slow.next\n",
    "        return slow.data" </s> remove     "* Setup two pointers, current and previous\n",
    "* Give current a headstart, incrementing it once if k = 1, twice if k = 2, ...\n",
    "* Increment both pointers until current reaches the end\n",
    "* Return the value of previous\n",
 </s> add     "* Setup two pointers, fast and slow\n",
    "* Give fast a headstart, incrementing it once if k = 1, twice if k = 2, ...\n",
    "* Increment both pointers until fast reaches the end\n",
    "* Return the value of slow\n", </s> remove    "pygments_lexer": "ipython2",
   "version": "2.7.10"
 </s> add    "pygments_lexer": "ipython3",
   "version": "3.5.0" </s> remove     "version": 2
 </s> add     "version": 3 </s> remove    "name": "python2"
 </s> add    "name": "python3"
    "            return None\n",
    "        fast = self.head\n",
    "        slow = self.head\n",
    "\n",
    "        # Give fast a headstart, incrementing it\n",
      "class MyLinkedList(LinkedList):\n",
      "\n",
      "    def kth_to_last_elem(self, k):\n",
      "        if self.head is None:\n",
    "            return None\n",
    "        fast = self.head\n",
    "        slow = self.head\n",
    "\n",
    "        # Give fast a headstart, incrementing it\n",
    "            return None\n",
    "        fast = self.head\n",
    "        slow = self.head\n",
    "\n",
    "        # Give fast a headstart, incrementing it\n",
    "            return None\n",
    "        fast = self.head\n",
    "        slow = self.head\n",
    "\n",
    "        # Give fast a headstart, incrementing it\n",
    "            return None\n",
    "        fast = self.head\n",
    "        slow = self.head\n",
    "\n",
    "        # Give fast a headstart, incrementing it\n",
    "            return None\n",
    "        fast = self.head\n",
    "        slow = self.head\n",
    "\n",
    "        # Give fast a headstart, incrementing it\n",
    "            return None\n",
    "        fast = self.head\n",
    "        slow = self.head\n",
    "\n",
    "        # Give fast a headstart, incrementing it\n",
    "            return None\n",
    "        fast = self.head\n",
    "        slow = self.head\n",
    "\n",
    "        # Give fast a headstart, incrementing it\n",
    "            return None\n",
    "        fast = self.head\n",
    "        slow = self.head\n",
    "\n",
    "        # Give fast a headstart, incrementing it\n",
      "        # once for k = 1, twice for k = 2, etc\n",
      "        while counter < k:\n",
      "            curr = curr.next\n",
      "            counter += 1\n",
      "            if curr is None:\n",
keep keep keep keep replace replace replace replace replace replace replace replace keep keep keep keep keep
 Polish kth to last element challenge and solution

Update algorithm discussion and solution. 
linked_lists/kth_to_last_elem/kth_to_last_elem_solution.ipynb