在一个排序的链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点不保留。
样例1:
输入:1->2->3->3->4->4->5
输出:1->2->5
样例2:
输入:1->1->1->2->3
输出:2->3
ListNode* deleteDuplication(ListNode* head)
{
ListNode* dummy = new LsitNode(-1);
dummy -> next = head;
ListNode* p = dummy;
while(p->next)
{
ListNode* q = p -> next;
while(q->next and q->next->val == p->next->val) q = q -> next;
if(q==p->next) p=q;
else p->next= q->next;
}
return dummy -> next;
}
解释(待补充)