Мне нужен алгоритм С#, который повторно упорядочивает символы в строковой динамической длине. У меня проблемы с поиском, и я знаю, что там должен быть один.
Алгоритм должен перестраивать элементы для формирования новых строк во всех возможных комбинациях.
Например, "cat" будет производить следующее: 
 cat cta tca tac act atc
