【发布时间】:2011-07-15 07:32:18
【问题描述】:
我有一个问题陈述,例如:“如何仅在一次遍历中找到单链表的中间节点,而我们不知道链表中的节点数?”
我有一个答案,例如“获取一个向量并在您遍历链表时开始推送所有节点的地址并增加一个计数器,直到您到达链表的末尾”。所以最后我们可以得到列表中的节点数,如果偶数 (counter/2) 或奇数 (counter/2 + counter%2) 给出中间节点数,我们可以得到 vectore.at(middlenodenumber) 指向中间节点”。
这很好......但是存储一个非常大的链表的所有地址是浪费内存!那么我们怎样才能有更好的解决方案呢?
【问题讨论】:
标签: c++ linked-list