百科问答小站 logo
百科问答小站 font logo



链表求交集,从链表头删去一长串而非一个节点?(已解决)? 第1页

  

user avatar   s.invalid 网友的相关建议: 
      

思路错误。再检查检查你的83行,不行单步跟踪一下,看看它究竟做了什么、想想你的这个思路可不可能得到你想要的结果。


此外,这个程序的效率也很成问题。比如删除,每次还要从头查找一次,这就成了O(N)的效率;实际上直接传当前节点进去可以O(1)删除。


事实上,你的整体思路从一开始就有问题。两个排过序的链表……这实质上就是明示你用归并排序。O(N)的效率完成合并,合并过程中随手剔除无法匹配的元素即可。

一定要先想通整个逻辑,确保它一定能达到目的,这才能动手敲代码。你这一开始就没想明白,直接动手写代码,肯定越搞越扑朔迷离。


最后,再提醒一下:你自己实现了程序、且指出了具体问题,这很好(我也正是看在这个份上才读了你的源码);但发代码求助时,最好直接发文本格式的源码拷贝,不要发截图


这是因为,用人脑模拟电脑思考很累;甚至可以说,绝大多数程序员都还没有这个能力——起码要有能力“人脑部分模拟CPU”、同时对链表相关算法了如指掌的水准,才可能通过看源码直接分析程序执行细节、找到问题所在。


因此,如果你直接发文本,那么热心人拷到自己的编辑器里一跑,很容易就能找到问题所在;但如果你发截图,那么很多人就不得不自己把你的代码一点点照图敲进去、然后才能调试;即使那些有能力直接从源码看出问题的,人家开个IDE不比费老大劲儿当人肉编译器轻省?


与人方便,自己方便。替那些可能帮你的人考虑一下,你得到帮助的几率就会更高。




  

相关话题

  有什么像a=a+b;b=a-b;a=a-b;这样的算法或者知识? 
  很多高效排序算法的代价是 nlogn,难道这是排序算法的极限了吗? 
  如何看待阿里 P8 加面 coding 环节,而 P7 却做不出头条算法题? 
  p是char类型指针,p[1]不是指向p[0]的下一个字节吗?为什么会到0x11? 
  计算机专业必读哪些经典书籍? 
  内存为啥要分堆栈在编程里,要是全部只用堆或者全部只用栈,行不行? 
  谷歌翻译这几个月的进化速度突然加快是什么原因? 
  什么才算是真正的编程能力? 
  大一学生,刚开始学习编程,但感觉自己并没有天赋怎么办? 
  C++ 对 c 兼容是什么意思? 

前一个讨论
如果推荐一部电影,你会推荐哪部?
下一个讨论
笔记本支架有必要买的吗?





© 2025-03-31 - tinynew.org. All Rights Reserved.
© 2025-03-31 - tinynew.org. 保留所有权利