采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
bobo老师,在您的视频中leetcode 237(Delete Node in a Linked List)的讲解中关于边界条件的处理:
if (node->next == NULL) { delete node; node = NULL; return }
node被释放了,但是node的前一个节点的next指针仍然指向这块地址空间,node赋值为NULL不能解决问题吧?这里应该是一个dangling pointer
你说的是对的。这里我视频的叙述有问题。
其实这个问题原问题限制了待删除节点不能是最后一个节点。我在讲课时没有强调。题目原文见这里:https://leetcode.com/problems/delete-node-in-a-linked-list/description/
我对课程的官方代码也进行了修改,可以参考这里:https://coding.imooc.com/learn/questiondetail/26827.html
其实在这个课程中我不应该讲这个例题。这个题目确实不好。没有这么设置删除的接口的。也正是因为这个原因这个问题在Leetcode上被很多人“反对”:)
继续加油!:)
非常感谢!
登录后可查看更多问答,登录/注册
课程配套大量BAT面试真题,高频算法题解析,强化训练
1.1k 13
1.2k 12
683 11
1.5k 10
1.2k 10