题目大意:给定一个链表,要求删除重复的节点,保证相邻的两个值相同的节点只保留一个
class Solution {
public:
ListNode *deleteDuplicates(ListNode *head) {
ListNode *cur = head, *pre = NULL;
while(cur != NULL) {
if(pre != NULL) {
while(cur != NULL && pre->val == cur->val) {
cur = cur->next;
}
if(pre->next != cur) {
pre->next = cur;
}
}
pre = cur;
if(cur != NULL) {
cur = cur->next;
}
}
return head;
}
};