从单链表中查找元素(从尾部开始)

A P*_*der 0 c++ linked-list data-structures

我有一个单独的链表.

例如:52 - > 79 - > 67 - > 50 - > 16 - > 99 - > 75

如果我想从反向顺序获得第3个数字(应该是16),我该怎么办?该要求不允许我反向列表.

唯一的提示是:有一种算法只扫描一次链表!一种可能性是使用两个指针扫描列表.

任何人都可以帮我解决这个问题吗?

Ale*_*sie 8

如果k是尾部元素的数量,则创建两个指针:一个指向开始,另一个指向开始+ k.同时增加两者.当第二个到达结尾时,第一个到达你的元素.