做链表翻转之类的 *** 作最少要几个指针?(C语言)

做链表翻转之类的 *** 作最少要几个指针?(C语言),第1张

这里说的链表仅限于单向链表。

我的经验是3个。起因是最近刷了一道链表 *** 作的题目,把K个节点作为一个整体叫做区块,在此基础上做翻转 *** 作。本来以前针对单个节点翻转的时候都已经比较熟练直接上3指针的,这次做区块翻转的时候居然忘了……因为无论是对单节点,还是多个节点作为一个整体的区块,当两个指针把一前一后的两个部分翻转了之后,它们就无法仅仅通过自己往链表后面走了,因为“链”已经断掉了,必须有第三个指针在前面带路。

这就是最少要3个指针的原因,如果哪位朋友知道更好的算法望告知。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/3002379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存