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;
    }

猜你喜欢

转载自www.cnblogs.com/mini-coconut/p/9416223.html