Leetcode(83)-删除排序链表中的重复元素

时间:2023-03-09 10:05:52
Leetcode(83)-删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

示例 1:

输入: 1->1->2
输出: 1->2

示例 2:

输入: 1->1->2->3->3
输出: 1->2->3

思路:要删除一个排序链表的重复元素,重复元素都是挨着的,还是用两个指针来解决问题,一个指针用来查找重复的元素,一个指针用来重新串联起一个新的链表。

 ListNode* deleteDuplicates(ListNode* head)
{
if(head==NULL) return head;
ListNode* cur,*p;
cur=p=head;
while(cur)
{
if(p->val!=cur->val)
{
p->next=cur;
p=cur;
}
cur=cur->next;
}
p->next=NULL;
return head;
}