如果不能使用臨時緩存,你怎么編碼實現?
void delete_duplicate1(node* head){
node*pPos=head->next;
node*p,*q;
while(pPos!=NULL){//用pPos指針來指示當前移動到什么位置了
p=pPos;
q=pPos->next;
while(q!=NULL){//遍歷pPos后面的所有節點,找出節點值與pPos所指節點相同的節點,將其刪除
if(pPos->data==q->data){
node*pDel=q;
p->next=q->next;
q=p->next;
free(pDel);
}
else{
p=q;
q=q->next;
}
}
pPos=pPos->next;
}
}
JAVA參考代碼:
新聞熱點
疑難解答