From c0113e304ffa5638fa8cc23d37432851a561b735 Mon Sep 17 00:00:00 2001 From: Anurag Tiwari <94794542+anurag464@users.noreply.github.com> Date: Thu, 20 Oct 2022 18:42:56 +0530 Subject: [PATCH] Create LinkedListDeletions.java Here's my code for deleting an element(NODE) at different index in a linked list --- LinkedListDeletions.java | 65 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 LinkedListDeletions.java diff --git a/LinkedListDeletions.java b/LinkedListDeletions.java new file mode 100644 index 00000000..5ad98f88 --- /dev/null +++ b/LinkedListDeletions.java @@ -0,0 +1,65 @@ +package com.anurag; + +public class LL { + + private Node head; + private Node tail; + + private int size; + + public LL() { + this.size = 0; + } + + //----------------DELETION----------------->>>>>>>>>> + //DELETE ELEMENT AT FIRST + public int deleteFirst(){ + int val = head.value; + head = head.next; + + if(head == null){ + tail = null; + } + + size--; + + return val; + } + + //DELETE ELEMENT AT LAST + public int deleteLast(){ + if(size <= 1){ + return deleteFirst(); + } + + Node secondLast = get(size - 2); + + int val = tail.value; + tail = secondLast; + tail.next = null; + + return val; + } + + //DELETE ELEMENT AT A PARTICULAR INDEX + public int delete(int index){ + if(index == 0){ + return deleteFirst(); + } + + if(index == size-1){ + return deleteLast(); + } + + Node prev = get(index - 1); //prev is the previous element from the element that's to be removed + int val = prev.next.value; + + prev.next = prev.next.next; + + return val; + } + + + + +}