在这里插入代码片/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(head==NULL||head->next==NULL)
{
return head;
}
ListNode* p=head;
ListNode* q=head->next;
while(p->next!=NULL)
{
if(p->val==q->val)
{
if(q->next==NULL)
p->next=NULL;
else
{
p->next=q->next;
q=q->next;
}
}
else
{
p=p->next;
q=q->next;
}
}
return head;
}
};

本文介绍了一种在单链表中删除所有重复元素的方法。通过迭代遍历链表,比较当前节点与下一个节点的值,如果相等则跳过重复节点,确保链表中每个元素都是唯一的。
204

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



