Построить из набора слов любую цепочку, чтобы символ в конце слова совпадал с символом в начале следующего - C#
Формулировка задачи:
Задан набор слов. Построить из них любую цепочку таким образом, чтобы символ в конце слова совпадал с символом в начале следующего.
Помогите сделать с помощью рекурсии. Заранее благодарен.
Решение задачи: «Построить из набора слов любую цепочку, чтобы символ в конце слова совпадал с символом в начале следующего»
textual
Листинг программы
string aggregate(string[] words, int maxLength = 64, string accumulator = "")
{
if (words == null || words.Length == 0) throw new ArgumentException();
if (maxLength == 0) return accumulator;
if (string.IsNullOrEmpty(accumulator)) accumulator = words.First();
else
{
string next = words.FirstOrDefault(w => w.First() == accumulator.Last());
if (next == null) return accumulator;
else accumulator += " " + next;
}
return aggregate(words, maxLength - 1, accumulator);
}