public void delete(int val) {
Node temp=head;
while(temp!=null) {
if(temp.getValue()==val) {
if(temp==head) {
deletFromFront();
}
else if(temp.getNextNode()==null) {
deleteFromEnd();
}
else {
Node nxtNode=temp.nextnode;
Node prevNode=temp.prevnode;
prevNode.setNextNode(nxtNode);
nxtNode.setPrevNode(prevNode);
}
return;
}
temp=temp.nextnode;
}
System.
out.
println("Element not found"); }
public void deletFromFront() {
head=head.getNextNode();
head.setPrevNode(null);
}
public void deleteFromEnd() {
Node temp=head;
while(temp.getNextNode()!=null) {
temp=temp.nextnode;
}
Node prevNode=temp.getPrevNode();
prevNode.setNextNode(null);
}
cHVibGljIHZvaWQgZGVsZXRlKGludCB2YWwpIHsKICAgICAgICBOb2RlIHRlbXA9aGVhZDsKICAgICAgICB3aGlsZSh0ZW1wIT1udWxsKSB7CiAgICAgICAgICAgIGlmKHRlbXAuZ2V0VmFsdWUoKT09dmFsKSB7CiAgICAgICAgICAgICAgICBpZih0ZW1wPT1oZWFkKSB7CiAgICAgICAgICAgICAgICAgICAgZGVsZXRGcm9tRnJvbnQoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgaWYodGVtcC5nZXROZXh0Tm9kZSgpPT1udWxsKSB7CiAgICAgICAgICAgICAgICAgICAgZGVsZXRlRnJvbUVuZCgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgTm9kZSBueHROb2RlPXRlbXAubmV4dG5vZGU7CiAgICAgICAgICAgICAgICAgICAgTm9kZSBwcmV2Tm9kZT10ZW1wLnByZXZub2RlOwogICAgICAgICAgICAgICAgICAgIHByZXZOb2RlLnNldE5leHROb2RlKG54dE5vZGUpOwogICAgICAgICAgICAgICAgICAgIG54dE5vZGUuc2V0UHJldk5vZGUocHJldk5vZGUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRlbXA9dGVtcC5uZXh0bm9kZTsKICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJFbGVtZW50IG5vdCBmb3VuZCIpOwogICAgfQogICAgcHVibGljIHZvaWQgZGVsZXRGcm9tRnJvbnQoKSB7CiAgICAgICAgaGVhZD1oZWFkLmdldE5leHROb2RlKCk7CiAgICAgICAgaGVhZC5zZXRQcmV2Tm9kZShudWxsKTsKICAgIH0KICAgIAogICAgcHVibGljIHZvaWQgZGVsZXRlRnJvbUVuZCgpIHsKICAgICAgICBOb2RlIHRlbXA9aGVhZDsKICAgICAgICB3aGlsZSh0ZW1wLmdldE5leHROb2RlKCkhPW51bGwpIHsKICAgICAgICAgICAgdGVtcD10ZW1wLm5leHRub2RlOwogICAgICAgIH0KICAgICAgICBOb2RlIHByZXZOb2RlPXRlbXAuZ2V0UHJldk5vZGUoKTsKICAgICAgICBwcmV2Tm9kZS5zZXROZXh0Tm9kZShudWxsKTsKICAgIH0=