typedef struct node
{
int data, freq;
struct node *next, *front;
} LNode, *LinkList;
LNode *findaddr(LNode *str1, LNode *str2)
{
LNode *p = str1->next, *q = str2->next, *w = NULL;
int i, strlen1, strlen2, n;
strlen1 = count(str1);
strlen2 = count(str2);
if (strlen1 > strlen2)
{
n = strlen1 - strlen2;
for (i = 0; i < n; i++)
{
p = p->next;
}
}
else if (strlen1 < strlen2)
{
n = strlen2 - strlen1;
for (i = 0; i < n; i++)
{
q = q->next;
}
}
while (p)
{
if (p->data == q->data)
{
w = p;
break;
}
p = p->next;
q = q->next;
}
return w;
}
int count(LinkList list)
{
LNode *p = list->next;
int cnt;
while (p)
{
cnt++;
p = p->next;
}
return cnt;
}
找到两个链表的相同节点
最新推荐文章于 2022-08-17 09:22:26 发布