Удаление заданного элемента из односвязного списка
Дан односвязный список с головой head, и требуется удалить из него конкретный узел node. В функции вам будет передан только сам узел node, доступ к голове списка head не будет предоставлен. Все значения в списке уникальны, и гарантировано, что удаляемый узел не является последним элементом.
Требования к удалению:
- После операции значение удаляемого узла не должно присутствовать в списке.
- Количество элементов в списке должно уменьшиться на один.
- Порядок элементов, расположенных перед node, должен остаться неизменным.
- Порядок элементов, расположенных после node, также должен сохраниться.
Тестирование пользователем: Для проверки вам необходимо передать полностью сформированный список head и конкретный узел node, который будет удалён. Узел node гарантировано находится не в конце списка и действительно присутствует в нём. Система построит список, вызовет вашу функцию с указанным узлом и проверит полученный список после выполнения.
Пример 1: Input: head = [4,5,1,9], node = 5 Output: [4,1,9] Explanation: Удаляется второй элемент со значением 5, после чего список становится 4 → 1 → 9.
Пример 2: Input: head = [4,5,1,9], node = 1 Output: [4,5,9] Explanation: Удаляется третий элемент со значением 1, и список преобразуется в 4 → 5 → 9.