/* 定义
struct ListNode
{
int val;
struct ListNode *next;
};
typedef struct ListNode *PtrToNode;*/
PtrToNode deleteTwoListSomeNode(PtrToNode l1, PtrToNode l2)
{
PtrToNode p1 = l1, p2 = l2, temp = p1;
while (p1 && p1->next)
{
p2 = l2;
while (p2->next && p1->val != p2->val)
{
p2 = p2->next;
}
if (p1->val == p2->val)
{
if (p1 == l1)
{
l1 = p1->next;
}
else
{
temp->next = p1->next;
p1 = p1->next;
}
}
else
{
temp = p1;
p1 = p1->next;
}
}
return l1;
}
删除两个单链表相同的结点
最新推荐文章于 2021-12-09 13:56:48 发布