給定一個(gè)排序鏈表,刪除所有重復(fù)的元素每個(gè)元素只留下一個(gè)。
樣例
給出 1->1->2->null,返回 1->2->null
給出 1->1->2->3->3->null,返回 1->2->3->null
比較刪除
排好序的比較好處理,相同的肯定是相鄰出現(xiàn)的,只要比較當(dāng)前值和下一個(gè)值就可以,如果不同,則遍歷下一個(gè),如果相同,則跳過(guò)下一個(gè)進(jìn)行遍歷(順便把中間的刪除掉,鏈表的刪除就是一個(gè)鏈接的過(guò)程)。
ListNode * deleteDuplicates(ListNode * head) {
if(head==NULL)
return NULL;
ListNode *temp=head;
while(temp->next!=NULL)
{
if(temp->val!=temp->next->val)
{
temp=temp->next;
}
else
temp->next=temp->next->next;
}
return head;
// write your code here
}