Возникла идея закинуть все слова в ArrayList и отсортировать с использованием компаратора по последней и первой буквам слов. Но моя реализация даже близко не сортирует как надо.
public static StringBuilder getLine(String... words) {
        StringBuilder result = new StringBuilder();
        LetterComparator comp = new LetterComparator();
        ArrayList<String> list = new ArrayList<>();

        Collections.addAll(list, words);
        list.sort(comp);

        for (String word : list) {
            result.append(word).append(" ");
        }

        return result;
    }

    public static class LetterComparator implements Comparator<String> {

        @Override
        public int compare(String o1, String o2) {
            int length1 = o1.length();
            Character lastLetter = o1.charAt(length1 - 1);
            Character firstLetter = o2.charAt(0);

            return lastLetter.compareTo(firstLetter);
        }
    }
Может кто подскажет как это можно реализовать (если вообще можно) или лучше бросить эту затею?