Вася размышляет, что ему можно не делать из того списка дел, который он составил. Но, кажется, все пункты очень важные! Вася решает загадать число и удалить дело, которое идёт под этим номером. Список дел представлен в виде односвязного списка. Напишите функцию solution, которая принимает на вход голову списка и номер удаляемого дела и возвращает голову обновлённого списка.
Формат ввода
Функция принимает голову списка и индекс элемента, который надо удалить (нумерация с нуля). Список содержит не более 5000 элементов. Список не бывает пустым.
Формат вывода
Верните голову списка, в котором удален нужный элемент.
# Comment it before submitting class Node: def __init__(self, value, next_item=None): self.value = value self.next_item = next_item def solution(node, idx): def get_node_by_index(node, index): while index: node = node.next_item index -= 1 return node if idx == 0: node = node.next_item else: previous_node = get_node_by_index(node, idx - 1) next_node = get_node_by_index(node, idx + 1) previous_node.next_item = next_node return node def test(): node3 = Node("node3", None) node2 = Node("node2", node3) node1 = Node("node1", node2) node0 = Node("node0", node1) new_head = solution(node0, 1) # result is node0 -> node2 -> node3 if __name__ == '__main__': test()