【发布时间】:2020-02-06 04:20:03
【问题描述】:
我猜这个问题是由于我缺乏数据结构知识,但问题是如何反转单链表?我的印象是使用“上一个”字段或属性来解决这个问题会使单链表成为一个双向链表,但是我在网上找到的所有解决方案都涉及使用上一个属性。我在这里错过了什么?
【问题讨论】:
-
您可以创建一个堆栈,将每个项目按顺序推入堆栈,然后将每个项目从堆栈中弹出。当然,这是假设您知道堆栈是如何工作的。如果这是一个面试问题,那么重点是让你解释你将如何做。如果你不知道,那么你就不知道;在互联网上询问陌生人是作弊:)
-
itsme86 该示例使用“prevnode”不是使其成为双向链表吗?
-
和 D Stanley,使用堆栈不会作弊,因为它使用单独的数据结构来反转列表?
-
@bman 您的问题中没有任何内容禁止使用单独的数据结构。此外,“prevnode”是一个局部变量,而不是节点元素的属性或字段,不会使其成为双链表。
-
@bman:将栈实现为链表,然后你就不用使用单独的数据结构了。那么,练习一下:你可以将堆栈实现为链表吗?
标签: c# singly-linked-list