分析
既然是排序链表,那么就省去了给链表排序的过程,只需要比较是否重复即可。需要注意的是还要考虑到重复大于两次的情况。
代码
ListNode* deleteDuplicates(ListNode* head) {
ListNode *p=head;
while(p!=NULL&&p->next!=NULL){
if(p->val==p->next->val){
p->next=p->next->next;
}
else{
p=p->next;
}
}
return head;
}
再分析
一开始没有写else,就会出现重复大于两次的节点没有得到处理的情况。