From b6581eaa168765590ec173f3b2f27a0c6558ccbb Mon Sep 17 00:00:00 2001 From: Abhijay Kumar Date: Thu, 30 May 2019 13:04:15 +0530 Subject: [PATCH] Fix for Issue #773. Deleting an element that doesn't exist causes NPE --- DataStructures/Lists/DoublyLinkedList.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/DataStructures/Lists/DoublyLinkedList.java b/DataStructures/Lists/DoublyLinkedList.java index fd250d956..677487e1d 100644 --- a/DataStructures/Lists/DoublyLinkedList.java +++ b/DataStructures/Lists/DoublyLinkedList.java @@ -116,8 +116,13 @@ public class DoublyLinkedList { public void delete(int x) { Link current = head; - while (current.value != x) // Find the position to delete - current = current.next; + while (current.value != x) {// Find the position to delete + if (current != tail) { + current = current.next; + } else {// If we reach the tail and the element is still not found + throw new RuntimeException("The element to be deleted does not exist!"); + } + } if (current == head) deleteHead();