leetcode Remove Duplicates From Sorted List

来源:互联网 发布:java final abstract 编辑:程序博客网 时间:2024/06/05 17:22
/** * 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) {        ListNode dummy(-1);        ListNode* tmp = head;        ListNode* prev = &dummy;        while(tmp != NULL){            if(tmp->next == NULL){                prev->next = tmp;                return dummy.next;            }            else{                bool duplicate = false;                ListNode* iter = tmp->next;                while(iter != NULL && tmp->val == iter->val){                    iter = iter->next;                    duplicate = true;                }                if(!duplicate){                    prev->next = tmp;                    prev = tmp;                }                tmp = iter;            }        }        prev->next = NULL;        return dummy.next;    }};

错误:
倒数第三行,链表本身的next要记得清空…

0 0
原创粉丝点击