Hi, here’s your problem today. This problem was recently asked by AirBNB:
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.
Here’s a starting point:
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) def remove_kth_from_linked_list(head, k): # Fill this in 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]