eolymp
Соревнования

Linked List practice

LinkedList Удалить первый элемент

Задан связный список. Удалите из него первое вхождение заданного числа.

Определение связного списка:

// Java
class ListNode {
  int val;
  ListNode next;
  ListNode(int x) {
    val = x;
    next = null;
  }
}
// C++
class ListNode
{
public:
  int val;
  ListNode *next;
  ListNode(int x) : val(x), next(NULL) {}
};
// C
struct ListNode
{
  int val;
  struct ListNode *next;
};

Реализуйте функцию DeleteFirstElement, которая удаляет первое вхождение числа element. Если element в списке не встречается, то ничего не делайте. Функция DeleteFirstElement должна вернуть указатель на голову обновленного списка.

// Java
ListNode DeleteFirstElement(ListNode head, int element)
// C, C++
ListNode* DeleteFirstElement(ListNode* head, int element)

Пример

prb10803.gif

Удалим element = 2. Функция DeleteFirstElement возвращает указатель на голову обновленного списка:

prb10803_1.gif

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Автор Михаил Медведев