Java 排序链表中的查找方法
又来了 现在我的问题是,我需要创建一个方法查找,它将搜索一个链接列表,以便找到一个人并返回那个人Java 排序链表中的查找方法,java,linked-list,return,Java,Linked List,Return,又来了 现在我的问题是,我需要创建一个方法查找,它将搜索一个链接列表,以便找到一个人并返回那个人 public Person lookup(String name) { if(head == null) { return null; } if(head.person.name.compareTo(name) == 0) { head = head.next; return person; } Node cu
public Person lookup(String name) {
if(head == null) {
return null;
}
if(head.person.name.compareTo(name) == 0) {
head = head.next;
return person;
}
Node current = head;
Node prev = head;
while(current != null) {
if(current.person.name.compareTo(name) == 0) {
prev.next = current.next;
return person;
}
prev = current;
current = current.next;
}
return null;
}
现在,该方法取这个参数名,比较列表中的对象,如果有匹配,它应该返回person;精确地说,当比较等于0时它返回的值。当我编译时,我得到一个错误,说它找不到符号person。我如何告诉程序返回找到的person?谢谢 您可以逐节点搜索查找,如下所示:
public Person lookup(String name) {
if (head == null) { // check if head is null then Linkedlist is empty and return null
return null;
}
Node current = head; // start from head
while (current != null) {
if (current.person.name.equals(name)) { // if equals return person
return current.person;
}
current = current.next; // get the next
}
return null;
}
您应该返回
head.person
或current.person
。您的代码不知道什么是人
head
在哪里声明?它是什么类型的?该类型是否有一个person
字段?Head是一个节点对象,它被声明为null。嘿!我尝试过实现这个方法,但得到了相同的结果,它找不到符号person.yes,应该返回current.person代码>不返回人代码>:)哦,我想我错过了。再次感谢你!你真是个救命恩人。干杯,伙计!你能批准这个解决方案吗?是的,我确实忘了。