Мне нужно реализовать два метода removeFirst и removeLast из LinkedList в Java
Первый метод, который я решил это следующим образом:
@Override
public E removeFirst() {
if(isEmpty()){
throw new NoSuchElementException();
}
E element = top.next.data;
top.next = top.next.next;
numElements--;
return element;
}
У меня проблемы с removeLast method
public E removeLast() {
if(isEmpty()){
throw new NoSuchElementException();
}
for (int i = 0; i < numElements;i++) {
}
}
Моя идея - использовать цикл for для поиска последнего элемента, но я не знаю, что делать после этого
Есть предложения?
Мой класс Node следующий:
public class Node<E> {
E data;
Node<E> next;
public Node(E data) {
this(data,null);
}
public Node(E data, Node<E> next) {
this.data = data;
this.next = null;
}
@Override
public String toString () {
return data.toString();
}
}