【发布时间】:2015-09-10 16:46:18
【问题描述】:
实现一种算法来查找单链表的倒数第 k 个元素。
是不是很好的解决了上面的问题,把链表倒过来再遍历,得到第k个元素?
【问题讨论】:
-
不准备面试
标签: linked-list singly-linked-list
实现一种算法来查找单链表的倒数第 k 个元素。
是不是很好的解决了上面的问题,把链表倒过来再遍历,得到第k个元素?
【问题讨论】:
标签: linked-list singly-linked-list
首先列表是singly-linked。所以这是一个很好的提示,您不应该尝试反转它,因为您需要尽可能多的存储空间来制作副本。
您可以使用龟兔算法的修改版本:
hare 指针K 个元素last 元素,那么您将找不到Kth 到最后一个元素。turtle 指针放在列表的开头hare 指针运行到列表末尾,每次移动hare 指针时,都会移动turtle。当hare 指针到达列表末尾时,turtle 位于Kth 到最后一个元素。
【讨论】: