【发布时间】:2015-05-09 04:07:18
【问题描述】:
我的方法是首先在列表中找到某个元素,如果为真,则将包含该值的节点移动到列表的前面,而不创建或删除新节点。这是我到目前为止所拥有的,我不认为移动节点部分正在工作,感谢任何帮助!
public boolean findMove(E e){
Node previous=null;
Node current=head;
while(current !=null){
if(e.equals(current.item)){
previous.next=current.next;
current.next=head;
head=current;
System.out.println("True");
return true;
}
current=current.next;
}
System.out.println("False");
return false;
}
【问题讨论】:
-
您没有在循环中更新
previous。 -
@John 请试试我的回答是否适合你?
-
booleanreturn是绝对必要的还是你可以抛出一个NoSuchElementException?这方面会阻碍您以非常简洁的方式执行此操作。
标签: java linked-list nodes