Junior — Middle+
56
Удаление узла и вставка нового элемента в двусвязный список
Условие задачи
Необходимо реализовать функции удаления и вставки узлов в структуру двусвязного списка.
Требования:
- Удалять узел, исходя из переданного значения.
- Вставлять новый узел сразу после указанного узла.
Особое внимание следует уделить граничным ситуациям:
- Удаление может происходить в начале, в конце или в середине списка.
- Вставка должна корректно работать, когда список пуст, когда необходимо добавить элемент в начало или в конец.
- После каждой операции необходимо правильно обновлять ссылки
nextиprevу соседних узлов.
class Node {
private Integer value;
private Node next;
private Node prev;
}
class LinkedList {
private Node head;
private Node tail;
public void remove(Integer value) {
// TODO
}
public void add(Integer prev, Integer next, Integer value) {
// TODO
}
}