Я хочу создать и удалить узел из односвязного списка в Java.Метод удаления возьмет индекс узла и удалит этот узел.
Логика работает, но она не удаляет узел при первом индексе (0). Как мне изменить этот код, чтобы он мог удалять узел в любой позиции без использования дополнительных циклов.Я знаю, что я использую начальный индекс как 1 в коде, но я не могу понять, что если введенный индекс равен нулю, то как программа может удалить «предыдущий узел», используя тот же цикл.Это потребует еще один цикл (на основе этой логики).Есть ли способ удалить этот дополнительный цикл
public E deleteNode(int t) throws IndexOutOfBoundsException{
if(size==0)
return null;
if(t>=size)
throw new IndexOutOfBoundsException("Invalid Input");
Node<E> previousNode=head;
Node<E> currentNode=previousNode.getNext();
int currentIndex=1;
while(currentIndex<t){
previousNode=previousNode.getNext();
currentNode=previousNode.getNext();
currentIndex++;
}
previousNode.setNext(currentNode.getNext());
size--;
return currentNode.getElement();
}
Если пользователь вводит индекс 0, то вывод {1,2,3,4} должен быть {2,3,4}, но я получаю{1,3,4}.