Remove Duplicates from Sorted List

来源:互联网 发布:软件界面图片素材 编辑:程序博客网 时间:2024/05/16 07:16

Remove Duplicates from Sorted List

 Total Accepted: 2906 Total Submissions: 8626My Submissions

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.

/** * 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) {        // IMPORTANT: Please reset any member data you declared, as        // the same Solution instance will be reused for each test case.        if(head == NULL)            return NULL;        ListNode *cur = head, *nextNode = head->next;        while(nextNode != NULL){            if(cur->val == nextNode->val){                cur->next = nextNode->next;                delete nextNode;                nextNode = cur->next;            }            else {                cur = cur->next;                nextNode = nextNode->next;            }        }        return head;    }};