数据结构在Java中为链表编写compareTO方法
我有一个链表,其中节点包含字符串,我需要编写一个方法,返回按字典顺序排列的“最小”一个。这就是我目前所拥有的。当我进入调试器时,它看起来会将正确的字符串分配给最小的字符串,但会继续。这可能与我如何让程序在列表中运行有关,但我不太熟悉在ArrayList或普通数组上使用这种类型的DT。任何帮助都将不胜感激
public String smallest()
LLStringNode node;
node = log;
LLStringNode node2;
node2 = node.getLink();
String smallString = "";
while(node != null)
{
if (node.getInfo().compareTo(node2.getInfo()) <0)
{
smallString = node.getInfo();
node2 = node2.getLink();
}
else if (node.getInfo().compareTo(node2.getInfo()) > 0)
{
smallString = node2.getInfo();
node = node2.getLink();
}
else
break;
}
return smallString;
}
# 1 楼答案
每个节点字符串必须与smallString进行比较,而不是与下一个节点进行比较,然后: