gpt4 book ai didi

java - 搜索自定义链表 - 哪种方法更好?

转载 作者:行者123 更新时间:2023-12-01 09:16:39 25 4
gpt4 key购买 nike

因此,我有一个方法的两个实现,该方法以 name 作为输入搜索自定义链表,或者获取与 name 关联的 mark > 如果找到该名称或返回 -1

public int getMark (String name) {
Node p = head;
while ((p != null) && !(p.getName().equals(name)){
p = p.getNext();
}

if (p == null){
return - 1;
}
else
{
return p.getMark();
}
}

或者

public int getMark(String name){
Node p = head;

if(head == null)
{
return -1;
break;
}

while(p != null)
{
if(p.getName().equals(name)
{
return p.getMark();
}
else
{
return -1;
}
p = p.getNext();
}
}

他们都完成了这项工作,但我想知道哪种解决方案更好。我个人认为第一个解决方案令人困惑并且逻辑上不合理。

最佳答案

您的第一个代码似乎并不好,因为如果您的任何节点可能为空,那么它将返回 -1 并且不再进一步检查,

此外,您的第二个逻辑有点复杂,应该如下所示,这样可以更好地执行。

 public int getMark(String name){
Node p = head;

if(head == null)
{
return -1;
}

while(p != null)
{
if(p.getName().equals(name)
{
return p.getMark();
}
p = p.getNext();
}

return -1;
}

关于java - 搜索自定义链表 - 哪种方法更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40504012/

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