【发布时间】:2018-08-30 03:49:05
【问题描述】:
我们有一个带有节点结构的链表:-
struct Node {
Node *next;
Node *aux;
};
链表结构:-
- next 指针始终指向下一个节点,就像在单链表中一样。
- aux指针可以指向任意一个节点,可以指向当前节点之前或之后,也可以指向当前节点本身,也可以为NULL。
问题陈述: 对链表中的辅助指针进行最少次修改,使最后一个节点可以通过辅助指针从链表的任何节点到达。例如完成所有修改后,到达最后一个节点的限制是我们只能使用 aux 指针来导航列表。 以下是列表的一种可能表示形式。请注意,此处未表示辅助指针为 NULL。
【问题讨论】:
-
为什么投票关闭它?这不是一个正确的论坛吗?还是这个问题有缺陷?你需要说明原因!这不是很具有描述性,而是很清晰。
-
@StephenDocy 谢谢你的建议,告诉我什么不清楚?什么是多余的和额外的?它如何不能有效地传达问题陈述。
-
@StephenDocy 不要担心你不能亲手给我代码。顺便说一句,我很久以前就在stackoverflow上,只有当我遇到一些可以在开放论坛上提出的好问题时,我才会在这里问。我没有在这里包含我的解决方案,只是为了避免想要帮助的人的方法偏见。你在这里做的纯属欺凌行为。以前你对我提问的方式有异议,现在你提出了一些其他的问题。如果有人可以评论一个好主意,这对我来说绝对有太大帮助。我不想要任何代码。
-
虽然人们已经提出了有效的担忧,认为这是非常通用的并且原始海报没有付出任何努力,但我想把我的 2 美分扔给可能的解决方案:1. 如果有任何循环,然后打破它,通过只需将其指向最后一个节点,2.任何节点都将为空,因为 AUX 可以直接指向最后一个节点,3.有点棘手,对其余节点执行 DFS,如果最后一个节点按顺序出现,则什么都不做移动到下一个节点是列表,否则只需在最后中断并将其指向最后指向的先前节点之一。
标签: algorithm data-structures linked-list