用字典法确定重复个数

删除链表中重复的结点

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

class Solution {
public:
ListNode* deleteDuplication(ListNode* pHead)
{
if (!pHead) return nullptr;
vector<ListNode*> v;
while (pHead) {
v.push_back(pHead);
pHead = pHead->next;
}

    vector<int>a(1000000,0);
  for(int i=0;i<v.size();i++){
      a[v[i]->val]++;
  } 
    ListNode *cur =v[0] ; 
    for (int i=1;i<v.size();i++) { // 构造链表
     if(a[v[i]->val]==1)
      {  cur->next = v[i]; // 当前节点的下一个指针指向下一个节点
       cur = cur->next;}
        }    // 当前节点后移}
  cur->next = nullptr; // 切记最后一个节点的下一个指针指向nullptr
 if(a[v[0]->val]==1)
         return v[0];
else 
     return v[0]->next;

}

};

全部评论

相关推荐

10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务