Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.
思路
if cur->val == cur->next->val
delete cur->next
代码(C)
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* deleteDuplicates(struct ListNode* head)
{
if (NULL == head)
return head;
struct ListNode* temp = head;
while (head->next != NULL)
{
if (head->val == head->next->val)
head->next = head->next->next;
else
head = head->next;
}
return temp;
}