gpt4 book ai didi

java - 链表删除方法返回删除节点和新节点

转载 作者:行者123 更新时间:2023-11-30 08:53:59 25 4
gpt4 key购买 nike

我正在使用一个链表,我改变了标准的删除方法,因为我想返回被删除的节点,这是正常的,但也返回它之前的节点,例如,如果我想改变一个直接引用,即尾节点到我可以的前一个节点。我想知道如下所示使用 HashMap 来实现此目的是否是解决此问题的最佳方法,或者是否有更好的方法来实现我想要的? (注意:下面的代码有效我只是想看看是否有更优雅的解决方案)

public HashMap<String, Node> remove(int i)
{
if(isEmpty()) return null;
else
{
HashMap<String, Node> temp = new HashMap<>();
if(i == 0)
{
temp.put(REMOVE_NODE_KEY, firstNode);
firstNode = (E)firstNode.getNext();
temp.put(REMOVE_NEW_KEY, firstNode);
}

else
{
NodeIterator<E> iterator = new NodeIterator<>(firstNode, i, 1);
Node prev = iterator.getEnd();

temp.put(REMOVE_NODE_KEY, prev.getNext());
prev.setNext(prev.getNext().getNext());
temp.put(REMOVE_NEW_KEY, prev);
}

size--;
return temp;
}
}

最佳答案

你只是返回一个节点数组?

temp = Node[2];
temp[0] = prev.getNext();
temp[1] = prev.getNext.getNext();
return temp;

关于java - 链表删除方法返回删除节点和新节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29584375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com