注意释放删除节点的空间;
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(head==NULL||head->next==NULL)
return head;
ListNode* pre=head,*p=head->next;
while(p)
{
if(pre->val==p->val)
{
ListNode* t=p;
pre->next=p->next;
p=p->next;
delete t;
}
else
{
pre=p;
p=p->next;
}
}
return head;
}
};
本文提供了一种高效的方法来删除链表中重复的元素。通过遍历链表并比较相邻节点的值,若发现重复则跳过重复节点并释放其占用的空间。此算法适用于已排序的链表。
723

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



