Remove Duplicates from Sorted List II

来源:互联网 发布:nba数据库统计三分 编辑:程序博客网 时间:2024/06/08 16:08

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving onlydistinct numbers from the original list.

For example,
Given 1->2->3->3->4->4->5, return 1->2->5.
Given 1->1->1->2->3, return 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) {if (head == NULL){return head;}if (head->next == NULL){return head;}ListNode* temp = head;while( (temp->next !=NULL) && (temp->val == temp->next->val) ){temp = temp->next;}if (temp != head){head = temp->next;return deleteDuplicates(head);}else{head->next = deleteDuplicates(head->next);}return head;}};


0 0