如何计算链表中的节点数而不遍历它?

Ami*_*mar 7 c linked-list

我在接受采访时被问到如何在不遍历列表的情况下计算链表中的节点数量?有没有办法实现这个目标?

Bal*_*arq 12

我能想到的唯一方法是添加一个节点数的计数器,每次调用addinsert方法时都会增加,并在调用delete时递减.你不能对占用内存做出假设,因为作为一个链表,你不能保证所有节点都在同一个内存块中(事实上,这是非常不可能的).