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

本文探讨了在无头指针的单链表中删除中间节点的问题,提供了一种变通的方法来实现节点的删除,并分享了解题思路及感悟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在找暑假实习,为了面试,复习一下算法和数据结构。随意翻到《编程之美》里的"无头单链表中删除节点":假设有一个没有头指针的单链表,一个指针指向此链表中间的一个节点(不是第一个,也不是最后一个),问如何将该节点从单链表中删除。
想法:要删除节点,得知道这个节点的前驱节点p,另p的next指向此节点的后继节点即可,但不知道头指针,而且还是单链表,那没法获得其前驱节点,也就没法删除该节点了啊?

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

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


转自我的搜狐博客:http://jluhlh.blog.sohu.com/301694207.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值