Remove Duplicates from Sorted List LeetCode Solution

Here, We see Remove Duplicates from Sorted List LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.

List of all LeetCode Solution

Remove Duplicates from Sorted List LeetCode Solution

Remove Duplicates from Sorted List LeetCode Solution

Problem Statement

Given the head of a sorted linked list, delete all duplicates such that each element appears only once. Return the linked list sorted as well.

Example 1:

Input: head = [1,1,2]
Output: [1,2]

Example 2:

Input: head = [1,1,2,3,3]
Output: [1,2,3]

Remove Duplicates from Sorted List Leetcode Solution C++

class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
	if(!head) return head;
	ListNode* tmp = head;
	while(tmp && tmp -> next)
	{
		if(tmp -> val == tmp -> next -> val)
			tmp -> next = tmp -> next -> next;
		else
			tmp = tmp -> next; 
	}
	return head;       
    }
};Code language: PHP (php)

Remove Duplicates from Sorted List Leetcode Solution Java

class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if(head == null || head.next == null)return head;
        head.next = deleteDuplicates(head.next);
        return head.val == head.next.val ? head.next : head;        
    }
}Code language: PHP (php)

Remove Duplicates from Sorted List Leetcode Solution JavaScript

var deleteDuplicates = function(head) {
    var current = head;
    while(current) {
        if(current.next !== null && current.val == current.next.val) {
            current.next = current.next.next;
        } else {
            current = current.next;
        }
    } 
    return head;    
};Code language: JavaScript (javascript)

Remove Duplicates from Sorted List Leetcode Solution Python

class Solution(object):
    def deleteDuplicates(self, head):
        if head == None:
            return head
        curr = head
        while curr.next != None:
            if curr.val == curr.next.val:
                tmp = curr.next
                curr.next = curr.next.next
                del tmp
            else:
                curr = curr.next
        return head   
Scroll to Top