![]() |
1
3
您链接到的文章有一些算法,允许您计算具有两个引用的节点,一个引用自列表的开头,另一个引用自应该是列表“结尾”的节点。如果您可以找到那个节点,那么您肯定可以找到应该是列表末尾的节点。找到那个节点。将其“next”引用设置为空。 我的建议是:在你的白板上画很多很多的框和箭头。通过在板上手动运行它六次来了解算法是如何工作的。一旦你理解了它是如何在视觉上工作的,那么编写代码就会简单得多。(因为这个原因,我的白板上通常塞满了十几种不同颜色的盒子和箭头…) |
![]() |
2
1
你会发现循环的“开始”。这是有多个节点连接到它的节点。 这些节点中的一个将来自列表的头部—您想让这个单独存在。
另一个节点是您要更改的节点-通常是使其连接到
|
![]() |
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 6 月前 |
![]() |
Alisa Petrova · 在有向图中更改一对顶点以创建循环 6 月前 |
![]() |
b39b332d · 使用C++标准库实现高效间隔存储 10 月前 |
![]() |
Paul C · 在维基百科上,将二叉搜索树转换为排序链表的算法是否存在错误? 10 月前 |
![]() |
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 10 月前 |
![]() |
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 11 月前 |