Skip to main content

Remove duplicates from a sorted linked list

Suppose given a linked list which are sorted form. But in this linked list are exist repeated node values. Our goal is to delete this duplicates node which are exist more than once.

Approach: Start to head of linked list and check it next upcoming node are similar to current (initial) node if node are similar then remove next node. If next node are not similar then visit next node and continue this process until next node are not NULL. Time complexity of this process are O(n) and we can solve this problem by using single loop. .

Test Cases: Before write an algorithm consider following test cases.

1) There is possible to linked list is empty. In this situation display valid message (Linked List Empty).

2) When repeated node more than once in a sequence. in this situation not remove first node and after that remove other similar nodes. The advantage of this process we are no need to modified head of linked list of during this process. when duplicates nodes are exist in front of position. Otherwise we are need to replace head of linked list.

Suppose given linked list contain following (1, 1, 2, 3, 4, 4, 4, 5, 6, 7) nodes.

Sorted Linked List After Remove duplicates nodes

Here given code implementation process.





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.

New Comment