Bueno me parece que tal vez te entendí

para la lista simple esto es lo que yo se
public class lista{
private nodo primero = null;
private class nodo {
private String nom;
private nodo siguiente;
private nodo() {
}
}
public void añadir() {//esta parte del código entiendo la lógica no hay problema
String nom = JOptionPane.showInputDialog("nombre:");
nodo q = new nodo();
q.nom = nom;
q.siguiente = primero;
primero = q;
}
public void borrar() {
nodo q = primero;
nodo ant = null;
String nom1 = JOptionPane.showInputDialog("Nombre:");
while (q != null && !q.nom.equals(nom1)) {
ant = q;
q = q.siguiente;
}
if (ant == null) {
primero= q.siguiente;
} else {
ant.siguiente = q.siguiente;
}
}
este codigo lo hice yo y si entiendo la logica pero como ya mencione mi duda es el nodo anterior.

Disculpen la molestia por ser tan cerrado de mente jajaja
