Вроде из тестового варианта ДжаваРаш и из своих рандомных наборов городов в idea цепочки строятся, но все равно не прохожу последние 2 теста, подскажите, пожалуйста, что я упускаю?
package com.javarush.task.task22.task2209;
import java.io.*;
import java.util.*;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException {
//...
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file = reader.readLine();
BufferedReader words = new BufferedReader(new FileReader(file));
List <String> list = new ArrayList<>();
while (words.ready()){
list.addAll(Arrays.asList(words.readLine().split(" ")));
}
StringBuilder result = getLine(list.toArray(new String[0]));
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
AbstractList <String> lists = new ArrayList<>();
StringBuilder stringBuilder = new StringBuilder();
for (String s:words){
lists.add(s);
}
if (lists.size() > 0){
stringBuilder.append(lists.get(0) + " ");
lists.remove(0);
int k = lists.size();
for (int j = 0; j < k; j++){
for (int i = 0; i < lists.size(); i++){
String t = lists.get(i);
Character a = Character.toLowerCase(lists.get(i).charAt(0));
Character b = Character.toLowerCase(stringBuilder.charAt(stringBuilder.length() - 2));
if (a.equals(b)){
stringBuilder.append(lists.get(i) + " ");
lists.remove(i);
}
}
}
stringBuilder.deleteCharAt(stringBuilder.length() - 1);
}
return stringBuilder;
}
}