Posted on by Kalkicode

# Delete all nodes in a linked list

The problem revolves around deleting all nodes in a linked list. Given a singly linked list, the task is to delete all the nodes present in the list, effectively making the linked list empty. This is often done to deallocate memory and clear the linked list.

## Problem Description

Given a singly linked list, the problem is to remove all the nodes in the list, making it empty.

## Example

``1 -> 2 -> 3 -> 4 -> 5 -> 6``

After deleting all nodes, the linked list will be empty:

``Empty Linked List``

## Idea to Solve the Problem

To solve this problem, we need to traverse through the linked list and free the memory allocated for each node. This is achieved by iterating through the linked list and deallocating memory for each node one by one.

## Pseudocode

``````deleteAllNodes(linkedList):
while temp is not NULL:
free(temp)

## Algorithm Explanation

1. Start with the `temp` pointer pointing to the head of the linked list.
2. Traverse through the linked list using the `temp` pointer: a. Update the `head` of the linked list to `temp.next`. b. Free the memory occupied by the current node `temp`. c. Move the `temp` pointer to the new head of the linked list.
3. Continue this process until the `temp` pointer becomes NULL, indicating that all nodes have been deleted.

## Time Complexity

The time complexity of this algorithm is O(n), where n is the number of nodes in the linked list. We traverse through each node once to free its memory.

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

Categories
Relative Post