Что не так? Вообще таймаут. Хотя тестовое задание выводит без проблем.
package com.javarush.task.task22.task2209;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader = new BufferedReader(new FileReader(fileName));
String content = reader.readLine();
StringTokenizer st = new StringTokenizer(content, " ");
reader.close();
// while (st.hasMoreTokens()) {
// System.out.println(st.nextToken());
// }
StringBuilder result = getLine(st);
System.out.println(result.toString());
}
public static StringBuilder getLine(StringTokenizer st) {
StringBuilder sb = new StringBuilder("");
if (!st.hasMoreTokens()){return sb;}
List <String> list = new ArrayList<>();
while (st.hasMoreTokens()){
list.add(st.nextToken());
}
sb.append(list.get(0));
list.remove(0);
while (!list.isEmpty()){
for (int i =0; i < list.size(); i ++){
if (sb.charAt(sb.length() -1) == Character.toLowerCase( list.get(i).charAt(0))){
sb.append(" " + list.get(i));
list.remove(i);
i--;
}
}
}
return sb;
}
}