Question 02 of 05

Linked List Deletion

Write a program to delete a node from a linked list by value.

C++
#include <iostream>
using namespace std;

struct Node { int data; Node* next; };

void deleteNode(Node*& head, int key) {
    if (head == NULL) return;
    if (head->data == key) { Node* temp = head; head = head->next; delete temp; return; }
    Node* temp = head;
    while (temp->next != NULL && temp->next->data != key) temp = temp->next;
    if (temp->next == NULL) return;
    Node* toDelete = temp->next;
    temp->next = temp->next->next;
    delete toDelete;
}

int main() {
    Node* head = NULL;
    deleteNode(head, 20);
    return 0;
}
Question 2 of 5