给定当前节点,如何在单链表中找到它的前一个节点。谢谢。逻辑会做,代码表示赞赏。我们都知道给定一个根节点可以进行顺序遍历,我想知道是否有一种更聪明的方法可以避免顺序访问开销。 (假设无法访问根节点)谢谢。
最佳答案
你不能。
根据定义,单链表仅将每个节点链接到其后继节点,而不是前任节点。没有关于前任的信息;甚至没有关于它是否存在的信息(您的节点可能是列表的头部)。
您可以使用双向链表。 您可以尝试重新安排所有内容,以便首先将前任作为参数传入。
您可以扫描整个堆以查找看起来像前任节点并带有指向您的节点的指针的记录。 (不是认真的建议。)
关于java - 给定一个节点,如何在单链表中找到前一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7198508/