题目
思路
双重循环,外层循环当前第一次出现的元素,内层循环是外层循环的结点的下一个开始查找,如果出现与外层循环结点的值相等的结点就删除。
代码
struct ListNode* deleteDuplicates(struct ListNode* head) {
struct ListNode *p=head;
struct ListNode *res=p;
while(p!=NULL){
struct ListNode *q=p->next;
while(q!=NULL){
if(p->val==q->val){
struct ListNode *temp=q;
p->next=q->next;
}
q=q->next;
}
p=p->next;
}
return res;
}
总结
简单题再刷一天,明天刷一下难题(嘿嘿)