小编Kin*_*ing的帖子

仅指定指向该节点的指针时,从单个链表中删除任何节点

这是一个在采访中向我提出的问题.

"内存中有一个链表.你必须删除一个节点.你需要编写一个删除该节点的函数,该节点只删除节点的地址作为输入而不包括任何其他节点(包括头部)"

我给出了类似于下面帖子中回答的答案 - 将下一个节点的内容复制到要删除的节点中并删除下一个节点.

当指向前一个节点的指针不可用时,从单个链表中删除中间节点

但是面试官再次问我,如果我传递最后一个节点的地址怎么办.我告诉他,因为下一个将是一个NULL,将NULL复制到数据字段以及下一个节点的地址也是NULL.然后他告诉我将会出现悬挂指针的问题......我对此并不了解.请问有人可以解决这个问题吗?这是一个通用的解决方案吗?

更新(两天后):再补充一点.考虑到列表末尾没有特殊节点.最后一个节点指向NULL,如果该节点作为输入,则如何使前一个节点指向NULL.还是不可能?

简单地说:如果给一个节点作为函数的输入,那么如何使引用它的指针指向NULL

linked-list data-structures

11
推荐指数
2
解决办法
3万
查看次数

标签 统计

data-structures ×1

linked-list ×1