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?
 
     
     
    