【发布时间】:2021-05-18 18:52:43
【问题描述】:
我在读这个:https://www.geeksforgeeks.org/reverse-a-linked-list/
我想我找到了一个更简单的答案,但由于不是他们写的,而且他们使用了更复杂的答案,我认为我的问题有问题,无法弄清楚。
我们从第一个节点开始,我们将复制并将其插入到新列表中。 然后我们向右走一步,复制该值,使用该值创建一个新列表并将其设置为上一个列表的右侧等等。
我的算法有什么问题?
【问题讨论】:
-
尝试编写代码,然后向我们展示您编写的内容。顺便说一句:在每次迭代中创建新列表似乎是一个非常糟糕的主意(时间成本、内存占用等)。
-
老实说,我不明白该页面上通过动画 GIF 向您展示的与所述算法的偏离。它从字面上向您展示了如何做到这一点,甚至基本上为您提供了这样做的代码,而无需复制节点、节点值等。任务是反转链表;不要建立一个与另一个链表相反的链表,所呈现的图形算法正是你是如何做到的。
-
@VillageTech 但它是一个只有一个节点的列表,所以它是一个节点
标签: c++ list algorithm linked-list