思路:第一个节点先和后一个节点比较,如果相同,cur1不变,cur2走向后一个节点,cur1再cur2比较,相同则cur2走向后一个节点,cur1和cur2再次比较,不相同,则cur1走到cur2的位置,cur2走到后一个节点的位置,再次进行比较,如果cur2等于NULL,则走到链表的末尾。 alt

struct ListNode* deleteDuplicates(struct ListNode* head ) {
    // write code here
    struct ListNode*cur1 = head;
    struct ListNode*cur2  =head->next;
    if(head == NULL)
    return head;
    while(cur2)
    {
        if(cur1->val == cur2->val)
       {
         cur1->next = cur2->next;
         cur2 = cur2->next;
       }
        else {
        cur1 = cur2;
       // if(cur2)
        cur2 = cur2->next;
        }
    }
    return head;
}