Уважаемые, гляньте, если не трудно...
Отрабатывает правильно, но валидатор не пускает из-за тайм-аута...
package com.javarush.task.task22.task2209;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader reader1 = new BufferedReader(new InputStreamReader(new FileInputStream(reader.readLine())));
String s = reader1.readLine();
String[] array = s.split(" ");
StringBuilder result = getLine(array);
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
StringBuilder stringBuilder = new StringBuilder();
Queue<String> queue = new LinkedList<>(Arrays.asList(words));
stringBuilder.append(queue.poll());
while (!queue.isEmpty()){
String current = stringBuilder.substring(stringBuilder.length()-1);
String temp = queue.poll();
assert temp != null;
String end = temp.substring(0,1);
if (current.equalsIgnoreCase(end)){
stringBuilder.append(" ").append(temp);
}
else queue.add(temp);
}
return stringBuilder;
}
}