Skip to content

Latest commit

 

History

History
30 lines (23 loc) · 731 Bytes

README.md

File metadata and controls

30 lines (23 loc) · 731 Bytes

Remove k-th Last Element From Linked List

This problem was asked by AirBnB.

Description

You are given a singly linked list and an integer k. Return the linked list, removing the k-th last element from the list.

Try to do it in a single pass and using constant space.

Example

class Node:
  def __init__(self, val, next=None):
    self.val = val
    self.next = next
  def __str__(self):
    current_node = self
    result = []
    while current_node:
      result.append(current_node.val)
      current_node = current_node.next
    return str(result)

head = Node(1, Node(2, Node(3, Node(4, Node(5)))))
print(head) # [1, 2, 3, 4, 5]
head = remove_kth_from_linked_list(head, 3)
print(head) # [1, 2, 4, 5]