这是一道牛客网上的填空题
void difference(PNode* LA, PNode LB)
{
PNode pa = *LA;
PNode pre = NULL;
PNode pb = LB;
PNode p = NULL;
while (pa)
{
pb = LB;
while (pb&&pa->data != pb->data)//数据不相等,pb继续往后遍历,直到为空
{
pb = pb->next;
}
if (pb == NULL)
{
pre = pa;//A中不含有B中的第一个元素
pa = pa->next;//继续比较A的第二个元素
}
else//pa->data == pb->data
{
if (pa == *LA)
{
*LA = pa->next;
}
else
{
pre->next = pa->next;
}
p = pa;
pa = pa->next;
free(p);
}
}
}