/* 定义
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;
}
删除两个单链表相同的结点
最新推荐文章于 2023-10-20 17:24:56 发布
本文详细介绍了一种算法,用于从两个链表中删除具有相同值的节点,适用于结构化数据处理。通过递归和指针操作,展示了高效删除重复元素的方法,并提供了关键代码片段和优化策略。

1913

被折叠的 条评论
为什么被折叠?



