diff --git a/linked_lists/remove_kth_node.py b/linked_lists/remove_kth_node.py new file mode 100644 index 0000000..9898783 --- /dev/null +++ b/linked_lists/remove_kth_node.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# author: bt3gl + + +def remove_kth_node(self, head, n): + + if head is None or head.next is None: + return None + + node = head + lenght = 0 + + # find the lenght of the list + while node: + node = node.next + lenght += 1 + + if n == lenght: + return head.next + + i = 0 + node = head + while i < lenght - n - 1: + node = node.next + i += 1 + + node.next = node.next.next + + return head +