вот эту задачу, он принял, а мою нет хотя результаты одинаковые.
package com.javarush.task.task22.task2209;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;


public class Solution {
    public static void main(String[] args) throws IOException {
        //...
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        String file = bufferedReader.readLine();
        BufferedReader reader = new BufferedReader(new FileReader(file));
        String[] words = reader.readLine().split(" ");
        StringBuilder result = getLine(words);
        System.out.println(result.toString());
    }

    public static StringBuilder getLine(String... words) {
        StringBuilder sb = new StringBuilder();
        if (words == null || words.length == 0) return sb;
        LinkedList<String> list = new LinkedList<>(Arrays.asList(words));
        int number = (int)(Math.random()*(list.size()));
        String word = list.remove(number);
        sb.append(word);
        while (list.size() != 0) {
            int count=0;
            for (String counter : list) {
                count++;
                if (counter.toLowerCase().startsWith(sb.substring(sb.length() - 1))) {
                    sb.append(" ").append(counter);
                    list.remove(counter);
                    break;
                }
                if(count == list.size()){
                    sb.setLength(0);
                    getLine(words);;
                }
            }
        }
        return sb;
    }
}