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

删除链表中重复的结点

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;
    }
};

全部评论

相关推荐

xiaowl:1. 技能堆叠没有意义,精简下,而且里面的精通、熟练等内容,其实经不起推敲,这里可以简单写清楚你在前端、后端等领域,有哪些你自己比较经验丰富熟练的技能,以及哪些有过一定涉猎,做一定区分度 2. 项目方案有些单薄,但是这个项目本身还是有很多挑战点的,你应该思考下对于里面有难题的挑战点,你是怎么解决的,避免泛泛而谈。比如,多人编辑是一个老大难问题,包括了互斥、协作等,这里可以详细讲一讲你怎么设计解决问题的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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