有序去除重复元素
struct ListNode* deleteDuplicates(struct ListNode* head){
struct ListNode *cur=head;
while(cur!=NULL&&cur->next!=NULL){
if(cur->next->val==cur->val){
cur->next=cur->next->next;
}else{
cur=cur->next;
}
}
return head;
}
无序的单链表去重
struct ListNode* removeDuplicateNodes(struct ListNode* head){
struct ListNode *temp=head;
while(temp!=NULL){
struct ListNode *post=temp->next;
struct ListNode *prev=temp;
while(post!=NULL){
if(post->val==temp->val)
prev->next = post->next;
else
prev = post;
post = post->next;
}
temp=temp->next;
}
return head;
}