您的位置:首页 > 其它

"无头单链表中删除节点"有感——变通 2014-03-18 17:56

2014-05-17 21:38 288 查看
最近在找暑假实习,为了面试,复习一下算法和数据结构。随意翻到《编程之美》里的"无头单链表中删除节点":假设有一个没有头指针的单链表,一个指针指向此链表中间的一个节点(不是第一个,也不是最后一个),问如何将该节点从单链表中删除。


想法:要删除节点,得知道这个节点的前驱节点p,另p的next指向此节点的后继节点即可,但不知道头指针,而且还是单链表,那没法获得其前驱节点,也就没法删除该节点了啊?

解法:确实没法“删除”该节点,但有没有别的“变通”的方法?! 有! 将C节点的data赋值给B节点的data,再删除C节点,这样做的结果就等效“删除”了节点B。

感触:以后遇到不能解决的事情,不妨试想下有没有其他“变通”的方法能达到预期的效果

转自我的搜狐博客:http://jluhlh.blog.sohu.com/301694207.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: