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

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

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

思路

题目中明确说了是升序链表,则可以使用multiset将值进行存储,并判断某个元素是否重复出现,重组链表

class Solution {
public:
    /**
     * 
     * @param head ListNode类 
     * @return ListNode类
     */
    ListNode* deleteDuplicates(ListNode* head) 
    {
        multiset<int> numSet;
        while(head)
        {
            numSet.insert(head->val);
            head = head->next;
        }
        ListNode* res = new ListNode(0);
        auto nHead = res;
        for(auto i : numSet)
        {
            if(numSet.count(i)==1)
            {
                res->next = new ListNode(i);
                res = res->next;
            }
        }
        return nHead->next;
    }
};
全部评论

相关推荐

努力成为C语言高手:质疑大祥老师,理解大祥老师,成为大祥老师
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务