问题
分析
1.先找到重复的节点,再去删除
易知删除需要前驱指针和指向节点的指针,可以将前驱指针和指针进行判断,如果有重复,就用前驱指针进行删除
LinkList del_same(LinkList &L){
if(L->next==NULL)//执行查找值之前需要先判断链表空不空
return;
LNode *pre=L-next,*p=pre-next,*q;
while(p!=NULL){
if(p->data==pre->data){
pre-next=p->next;
free(p);//释放节点空间
p=pre->next;//free(p)之后还可以使用p指针进行操作
}else{
pre=p;//如果两者不相等,可以继续进行一个遍历
p=p->next;
}
}
}