Построить из набора слов любую цепочку, чтобы символ в конце слова совпадал с символом в начале следующего - 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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д