【发布时间】:2012-02-15 21:48:03
【问题描述】:
好的,所以我有一个程序,其中有一部分我需要“对单词进行排序,使得列表中每个项目的最后一个字母是下一个项目的第一个字母,一种通过以下方式链接在一起的单词链最后一个和第一个字母。”
样本输入为dog,elephant,giraffe,rhinoceros,tiger 正确的输出是dog,giraffe,elephant,tiger,rhinoceros 而我的输出是老虎、犀牛、狗、长颈鹿、大象。
比较器是这样的:
class linkedSort implements Comparator {
//will return 1 for a match
//returns 0 if no match
public int compare(Object t, Object t1) {
char[] charArr1 = t.toString().toCharArray();
char[] charArr2 = t1.toString().toCharArray();
if (charArr1[charArr1.length - 1] == charArr2[0]) {
return -1;
} else {
return 1;
}
}
}
任何帮助将不胜感激!
【问题讨论】:
-
您的第一个问题是您的 cmets 说返回 1 或 0,而该方法返回 -1 或 1。另外,正如 @SLaks 所说,请描述您尝试过的内容以及它如何意外失败/执行.
标签: java algorithm puzzle comparator words