已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A和B的差集(即仅由在A中出现而不在B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的元素个数。
代码如下:
#include <iostream>
using namespace std;
struct LinkNode
{
int data;
LinkNode* next;
};
LinkNode* minus_LinkList(LinkNode* A, LinkNode* B)
{
LinkNode* finalA = A;
LinkNode* tempA = A->next;
LinkNode* tempB = B->next;
while (tempA && tempB)
{
if (tempB->data == tempA->data)
{
tempA=tempA->next;
A->next = tempA;
}
else if (tempB->data < tempA->data)
{
tempB = tempB->next;
B = B->next;
}
else
{
tempA = tempA->next;
A = A->next;
}
}
return finalA;
}
void print_LinkList(LinkNode* finalA)
{
while (finalA->next)
{
cout << finalA->nex