请问下为什么我返回的是原链表 没有改变?

 

我代码中没有对原表进行任何修改呀。

while(head->next->val == temp)

 head=head->next;

这个循环只是把head指向值不同的那个点。并没有把那些相同的点从表里面删除呀。

上面的代码改成下面:

ListNode *tmpNode = head->next;

while(tmpNode->val == temp){

 tmpNode=tmpNode->next;

}

你再调一下然后看看还有没有其他问题。因为你的代码不全。

如是对你有帮助可以关注我的帐号,我后面也会发布C++的文章。

head->next = tmpNode;

不太能理解你怎么判断有没有重复的, 不应该去找一个hash来判断吗, 你是判断前后是否相等?

您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632