所以问题是:在链表if nodes a disappearing once read
中找到第k个节点frm。这应该只在一个通道中完成。
尽量避免额外的记忆。
我知道这个问题的简单解决方案,其中两个指针(P和Q让我们说)到标题节点,并且它们的P增加N次,然后两个指针递增。指针Q指向第N个元素。
但问题在这里有些不同。一旦读取节点就会消失,所以无法使用两种指针方式。
请在阅读之前不要关闭这个问题。因为这个问题不同。
由于
答案 0 :(得分:6)
继续在某处存储K个元素,例如,如果K为6,则在遍历链表时在某处存储6个最新读取节点,并在读取下一个节点时,存储该元素并从已存储的节点中删除最旧的读取节点。链接列表结束后,您将存储最后的K个元素(使用链接列表或数组等),最后一个Kth元素将是最早存储的元素。
这可能不是我在思考时输入的最有效的解决方案,但它应该有用。
答案 1 :(得分:1)