Delete Node in a Linked List中删除tail node的问题
来源:5-5 不仅仅是穿针引线 Delete Node in a Linked List
慕先生3077456
2019-04-26
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
写回答
1回答
-
你说的是对的。这里我视频的叙述有问题。
其实这个问题原问题限制了待删除节点不能是最后一个节点。我在讲课时没有强调。题目原文见这里:https://leetcode.com/problems/delete-node-in-a-linked-list/description/
我对课程的官方代码也进行了修改,可以参考这里:https://coding.imooc.com/learn/questiondetail/26827.html
其实在这个课程中我不应该讲这个例题。这个题目确实不好。没有这么设置删除的接口的。也正是因为这个原因这个问题在Leetcode上被很多人“反对”:)
继续加油!:)
112019-04-28
相似问题