public void addLast(int value) {
Node last = findLast();
last.next = new Node(value, null);
}
public void addFirst(int value) {
Node newNode = new Node(value);
newNode.next = this.head.next;
this.head.next = newNode;
}
public void insert(int index, int value) {
Node prev = findNode(index - 1);
if (prev != null) {
Node newNode = new Node(value);
newNode.next = prev.next;
prev.next = newNode;
}
}
public void remove(int index) {
Node prev = findNode(index - 1); Node curr;
if (prev != null && (curr = prev.next) != null) {
prev.next = curr.next;
}
}