2 java linked-list data-structures
public void deleteAfter(Node prev){
prev.setNext(prev.next().next());
}
Run Code Online (Sandbox Code Playgroud)
此方法删除给定prev节点之后的新节点.有人可以向我解释这段代码的具体步骤,以及如何更改它,以便如果prev是列表中的最后一个节点,它将不会出错.
@param prev - 插入位置之前的节点.
prev.next().next()获取下一个节点之后的节点(来自给定的节点).然后将其传递给prev.setNext方法,使其成为下一个节点.这基本上删除了中间节点prev和下一个下一个节点.
基本上,它需要prev -> next_1 -> next_2 ...并将其转化为prev -> next_2 ...
如果prev是列表中的最后一个节点,那么next()应该返回null(我假设).如果是这种情况,您可以进行空检查以避免错误.
public void deleteAfter(Node prev){
if(prev.next() != null) {
prev.setNext(prev.next().next());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |