I'm trying to implement a Java linked list. The program is giving me a null pointer whenever I try to delete the next to last node.
Here are the attributes:
public class Nodo {
int num;
boolean used;
Nodo next;
}
And this is the method so far:
public int delete(int val) { // deletes, (1:deleted, 0:not found, -1:empty
// list)
int deleted = 0;
if (n.used) {
if (n.next == null) {
if (n.num == val) {
n.used = false;
deleted = 1;
}
} else {
Nodo it = n;
Nodo itAnt = null;
while (it.next != null) {
if (it.num == val) {
it.num = it.next.num;
it.next = it.next.next;
deleted = 1;
}
itAnt = it;
it = it.next;
}
if (it.num == val) {
itAnt.next = null;
deleted = 1;
}
}
} else {
deleted = -1;
System.out.println("Empty list");
}
return deleted;
}
How can I solve this problem?