题解 | #删除链表中重复的结点#

删除链表中重复的结点

http://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef

class Solution {
public:
    ListNode* deleteDuplication(ListNode* phead) 
    {
        vector<int> v;
        while(phead!=nullptr)
        {
            v.push_back(phead->val);
            phead = phead->next;
        }
        ListNode* ph = nullptr;
        ListNode* pe = nullptr;
        for(int i = 0; i < (int)v.size(); i++)
        {
            if(count(v.begin(), v.end(), v[i]) == 1)
            {
                ListNode* pt = (ListNode*)malloc(sizeof(ListNode));
                if(pt!=nullptr)
                {
                    pt->val = v[i];
                    pt->next = nullptr;
                    if(ph == nullptr)
                    {
                        ph = pt;
                        pe = pt;
                    }
                    else
                    {
                        pe->next = pt;
                        pe = pt;
                    }
                }
            }
        }
        return ph;
    }
};

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务