public void deleteAfter(Node prev){
prev.setNext(prev.next().next());
}
此方法删除给定前一个节点之后的新节点。有人可以向我解释一下这段代码具体是做什么的,以及如何更改它,这样如果 prev 是列表中的最后一个节点,它就不会出错。
@param prev - 将插入位置之前的节点。
最佳答案
prev.next().next()
获取下一个节点之后的节点(来自给定的节点)。然后将其传递给 prev.setNext
方法,使其成为下一个 节点。这实际上删除了 prev
和 next next 节点之间的节点。
基本上,它需要 prev -> next_1 -> next_2 ...
并将其转换为 prev -> next_2 ...
如果 prev
是列表中的最后一个节点,则 next()
应该返回 null
(我假设)。如果是这种情况,您可以执行 null 检查以避免错误。
public void deleteAfter(Node prev){
if(prev.next() != null) {
prev.setNext(prev.next().next());
}
}
关于java - 这段代码具体是做什么的呢?我该如何改变它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47581900/