【问题标题】:Implement an algorithm to find the kth to last element of a singly linked list实现一个算法来查找单链表的第 k 个到最后一个元素
【发布时间】:2015-09-10 16:46:18
【问题描述】:

实现一种算法来查找单链表的倒数第 k 个元素。

是不是很好的解决了上面的问题,把链表倒过来再遍历,得到第k个元素?

【问题讨论】:

  • 不准备面试

标签: linked-list singly-linked-list


【解决方案1】:

首先列表是singly-linked。所以这是一个很好的提示,您不应该尝试反转它,因为您需要尽可能多的存储空间来制作副本。

您可以使用龟兔算法的修改版本:

  • 在列表的开头使用hare 指针
  • 将其至少移开K 个元素
  • 如果您之前点击了last 元素,那么您将找不到Kth 到最后一个元素。
  • turtle 指针放在列表的开头
  • 现在将hare 指针运行到列表末尾,每次移动hare 指针时,都会移动turtle

hare 指针到达列表末尾时,turtle 位于Kth 到最后一个元素。

【讨论】:

    猜你喜欢
    • 2014-01-11
    • 1970-01-01
    • 2019-08-28
    • 2021-09-10
    • 2019-10-29
    • 2023-03-09
    • 2013-12-10
    • 2012-06-11
    • 1970-01-01
    相关资源
    最近更新 更多