标签:
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
.
分析:和Remove Duplicated from Sorted Array类似。运行时间19ms
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NULL) {} 7 * }; 8 */ 9 class Solution { 10 public: 11 ListNode* deleteDuplicates(ListNode* head) { 12 if(!head || !(head->next)) return head; 13 14 ListNode *temp = head; 15 ListNode *newHead = head; 16 17 while(temp->next){ 18 if(temp->val != temp->next->val){ 19 head->next = temp->next; 20 head = head->next; 21 } 22 temp = temp->next; 23 } 24 head->next = NULL; 25 return newHead; 26 } 27 };
Remove Duplicates from Sorted List
标签:
原文地址:http://www.cnblogs.com/amazingzoe/p/4463407.html