采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
比较好奇,为什么这个头结点e要单独的考虑,一个递归算法不关注头结点不可以吗?递归一遍删除了一个结点,这个结点是不是头结点,程序不关心,这样就更简单了。。
可能我没有特别理解你的问题,尝试一下,把你说的这个更简单的想法写成代码表示出来?
btw:课程后续会介绍使用虚拟头结点的方式,避免对头结点的特殊考虑:)
加油!:)
是这样 就是这个链表删除元素的递归 为什么要分成“头结点”和“删除后的链表” 这两部分, 比如数组求和的递归,每次递归都转化成上一个元素+更小的数组,而链表为什么不能转化成上一个结点+更小链表呢
因为head指向头结点。如果删除的是头结点,需要维护一下head;删除的不是头结点,head就不用动。在这里,不做特殊处理,维护head的逻辑无法统一。课程后续会介绍使用虚拟头结点的方式,让这个逻辑得到统一:)如果想更深刻的体会这一点,可以尝试用你想象的方式实际编码一下试试看,看会遇到什么问题?:)
好的 谢谢老师
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.6k 16
1.5k 17
1.4k 14
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号