当前位置: 首页 > 知识库问答 >
问题:

如何找到单链表中的最后一个元素?

卫宁
2023-03-14

在单链表中,我们知道最后一个节点的下一个指向null,这样我们就可以通过遍历找到它。

如果单链表的最后一个节点指向某个中间节点,那么我们如何找到最后一个节点?

共有3个答案

沃阳飙
2023-03-14

即使在单向链接列表中,您也可以使用Tail指针。它仍然会是一个单向链表,但是它避免了在查找最后一个节点时O(n=1)

魏康安
2023-03-14

好吧,我想把一个“is_visted”布尔值放在节点上会很好地满足:

//make sure the counters of all nodes are 0
cur=head_node
cur->visit=1
while( cur->next!=null AND cur->next->visit==0) {
  cur=cur->next
  cur->visit=1
}
//cur points to the last node
段干宏硕
2023-03-14

如果“最后一个节点”指向其他节点,那么它实际上不是最后一个节点,是吗?更不用说,这将延伸并可能打破普遍接受的“清单”定义。

通常要找到最后一个元素,你会做这样的事情

Node *current = list.start,
     *next = current.next;

while (next != null)
{
    current = next;
    next = current.next;
}

print("Last node is " + current->value);

但是,这假设“最后一个节点”实际上指向null。否则,您将陷入无限循环。

通常最好将指针保持在列表的最后一个节点和第一个节点之间,因此这是一个简单的解决方案,它不依赖于指向null的最后一个节点。

 类似资料:
  • 问题内容: 图片我想获得一个特定的框架,你可以在图像中找到的“href”,我试图尽我可以,但我不能够得到的“href” 我尝试了上面的代码,我使用了该框架的Xpath并尝试获取该框架的href。链接:“ https://iaeme.com/ijciet/issues.asp?VType=8&IType=10&JType=IJCIET&PageNumber=1 ” 问题答案: 按照您共享以获取所有“

  • 本文向大家介绍在Scala中找到列表的最后一个元素,包括了在Scala中找到列表的最后一个元素的使用技巧和注意事项,需要的朋友参考一下 假设我们在Scala中有一个列表,该列表在scala.collection.immutable包下定义。众所周知,列表是相同类型元素的集合,其中包含不可变(不可更改)数据。我们通常应用last函数来显示列表的最后一个元素。 使用最后一个关键字 以下Scala代码显

  • 给定单链表的最后一个节点,我们如何找到头节点? 假设给定JSON: {“id”:“A”,“next”:“B”},{“id”:“B”,“next”:“C”}{“id”:“C”,“next”:“D”}{“id”:“D”,“next”:“null} 现在假设上面没有排序,我们需要算出HEAD元素“A”。

  • 当您需要查找单列列表的th最后一个元素时,通常的简单方法是执行两个过程。第一个查找列表的长度,第二个迭代到元素。 而优化版本利用了两个指针: 引用列表的头部 是在之前的第2个元素 这允许我们在到达列表末尾时返回的元素。我不明白为什么第二种方法比第一种更快,因为在这两种情况下,我们都有一个指针遍历整个列表,另一个指针一直迭代到元素。 这是因为缓存优化吗? 谢谢

  • 我正在使用springboot网关在我的微服务之间进行负载平衡请求 我的问题是,如果我发送了一个错误的请求,如“question.com/questions/dasldkjasdas”,那么请求就会转发到应答。com/answers/333/answer既然这是我配置中的最后一个链,我该如何阻止它,并将notfound statuscode作为响应发送。我用过 https://cloud.spri

  • 我在Mongo DB Atlas中收集了一个用户名称。 它还在继续。 在节点中可以使用什么查询。js和mongoose找到集合中的最后一个元素了吗?当集合不断动态增加时,如何获取集合最后一个元素的id?