In this Leetcode Remove Duplicates from Sorted List problem solution we have 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.

Leetcode Remove Duplicates from Sorted List problem solution


Problem solution in Python.

class Solution:
    def deleteDuplicates(self, head: ListNode) -> ListNode:
        if not head:
            return
        current = head
        if current:
            while current.next and current:
                # print(current.val)
                if current.val == current.next.val:
                    current.next = current.next.next
                else:
                    current= current.next
        return head



Problem solution in Java.

public ListNode deleteDuplicates(ListNode head) {
        ListNode dummy = head;
        while(dummy != null && dummy.next !=null){
            if(dummy.val == dummy.next.val) dummy.next = dummy.next.next;
            else dummy = dummy.next;
        }
        return head;
    }


Problem solution in C++.

class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        if (head==nullptr)
            return 0;
        struct ListNode* ptr;
        ptr=head;
        while (ptr->next != nullptr){
            if (ptr->val ==ptr->next->val){
                ptr->next=ptr->next->next;
            }
            else
               ptr=ptr->next;
        }
        return head;
        
    }
};


Problem solution in C.

struct ListNode* deleteDuplicates(struct ListNode* head){
    
    struct ListNode* cur = head;
    if(head == NULL)
        return head;
    
    while(cur->next != NULL)
    {
        if(cur->val == (cur->next->val))
        {
            cur->next = cur->next->next;
        }
        else
            cur = cur->next;
    }
    
    return head;

}