题解 | #删除有序链表中重复的元素-II#

删除有序链表中重复的元素-II

http://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024

class Solution {
public:
    /**
     * 
     * @param head ListNode类 
     * @return ListNode类
     */
    ListNode* deleteDuplicates(ListNode* head) {
        // write code here
        if(!head) return nullptr;
        ListNode *pre, *cur;
        int rec = INT_MIN;                           //for recording the duplicate num
        ListNode* newHead = new ListNode(INT_MIN);   //the node for convenient traversal
        newHead->next = head;
        pre = newHead;
        cur = head;
        while(cur && cur->next)
        {
             ListNode* next = cur->next;
             if(cur->val == next->val) 
             {
                 rec = cur->val;
                 while(cur && cur->val == rec)
                 {
                      delete(cur);
                      cur = next;
                      if(next) next = next->next;
                 }
                 pre->next = cur;
            }
            else{
                    pre = cur;
                    cur = cur->next;
            }
        }
        cur = newHead->next;
        delete(newHead);  // avoid memory leak
        return cur;
    }
};
全部评论

相关推荐

05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
06-26 15:35
武汉大学 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务