Remove Duplicates From Sorted List: 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.
Input: head = [1,1,2] Output: [1,2]
Table of Contents
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;
}