问题遇到的现象和发生背景
求各位解答一下下面这个求一元多项式加法函数的时间复杂度和空间复杂度问题
问题相关代码,请勿粘贴截图
Linklist PolyAdd(Linklist L1, Linklist L2)
{
Linklist head, pa, pb, s, p;
int sum;
pa = L1->next;
pb = L2->next;
head = (Linklist)malloc(sizeof(LNode));
p = head;
while (pa && pb)
{
if (pa->y == pb->y)
{
sum = pa->x + pb->x;
if (sum != 0)
{
s = (Linklist)malloc(sizeof(LNode));
s->x = sum;
s->y = pa->y;
p->next = s;
p = s;
}
pa = pa->next;
pb = pb->next;
}
else if (pa->y > pb->y)
{
s = (Linklist)malloc(sizeof(LNode));
s->x = pa->x;
s->y = pa->y;
p->next = s;
p = s;
pa = pa->next;
}
else
{
s = (Linklist)malloc(sizeof(LNode));
s->x = pb->x;
s->y = pb->y;
p->next = s;
p = s;
pb = pb->next;
}
}
p->next = pa ? pa : pb;
return head;
}