private void DeleteMiddleOne(DeleteMiddleNode dm, int val) { Node curr = head; while (curr != null) { Console.WriteLine($"BEFORE DELETION - Elements in the linked-list are {curr.Value}"); curr = curr.Next; } curr = head; while (curr != null) { //traverse to the middle value if (curr.Value == val) { curr.Next = curr.Next.Next; } curr = curr.Next; } curr = head; while (curr != null) { Console.WriteLine($"AFTER DELETION - Elements in the linked-list are {curr.Value}"); curr = curr.Next; } }
public static void MainMethod() { DeleteMiddleNode dm = new DeleteMiddleNode(); dm.AddNodeAtStart(12); dm.AddNodeAtLast(9); dm.AddNodeAtLast(11); dm.AddNodeAtLast(6); dm.AddNodeAtLast(25); dm.AddNodeAtLast(14); dm.DeleteMiddleOne(dm, 9); }