/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(head==nullptr){
return nullptr;
}
ListNode* l=head;
while(head->next!=nullptr){
if(head->next->val==head->val){
head->next=head->next->next;
}
else{
head=head->next;
}
}
return l;
}
};
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def deleteDuplicates(self, head: ListNode) -> ListNode:
if head==None:
return head
cur=head
while(cur.next!=None):
if cur.val==cur.next.val:
cur.next=cur.next.next
else:
cur=cur.next
return head