为什么可以用tail实现add()的添加?

来源:8-6 实现Iterable接口

北极猫_

2018-01-18

这其中的逻辑很不理解

写回答

1回答

ccmouse

2018-01-18

因为增加的链表的节点是接在链表末尾的。

这里的循环不变式是:每次运行完add之后,tail指向链表末尾。

所以在add中我们让tail指向我们新增加的节点,然后更新tail成我们新增加的节点。这样就把我们这个新的节点连接上去,并且保持了循环不变式。

1
1
北极猫_
非常感谢!
2018-01-19
共1条回复

Google面试官亲授-Java面试新手尊享课

为面试新手量身定制的Java面试尊享课,解锁“鲤鱼跃龙门”的妙招

2853 学习 · 180 问题

查看课程