l******d 发帖数: 530 | 1 题目:Given a linked list of integers, delete all the nodes from the linked
list which data value equals to a given value.
void delete(Node **l, int target);
这个人的答案如下,是不是错了?见我的注释
void deleteRep(LNode **l, int target){
if(!(*l)) return;
LNode *p = *l;
while(p){
if(p->data == target){
if(p == *l){
*l = p->next;
free(p);
p = *l;
}
else{
LNode *q = p;
p = p->next;
free(q); //没有把p的predecessor的next指向p的next
}
}
else{
p = p->next;
}
}
} | f**l 发帖数: 95 | | l*********8 发帖数: 4642 | 3 you're right.
linked
【在 l******d 的大作中提到】 : 题目:Given a linked list of integers, delete all the nodes from the linked : list which data value equals to a given value. : void delete(Node **l, int target); : 这个人的答案如下,是不是错了?见我的注释 : void deleteRep(LNode **l, int target){ : if(!(*l)) return; : LNode *p = *l; : while(p){ : if(p->data == target){ : if(p == *l){
|
|