LeetCode83 給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。
阿新 • • 發佈:2019-01-24
給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
// if(head==NULL)
// return head;
// if(head->next==NULL)
// return head;
// ListNode *l1 = head, *l2 = head->next;
// while(l2)
// {
// if(l1->val==l2->val)
// {
// l1->next=l2->next;
// l2=l2->next;
// }
// else
// {
// l1=l2;
// l2=l2->next;
// }
// }
// return head;
if (!head || !head->next) return head;
ListNode *start = head;
while (start && start->next) {
if (start->val == start->next->val ) {
ListNode *tmp = start->next;
start->next = start->next->next;
delete tmp;
} else start = start->next;
}
return head;
}
};