Преобразовать скобочную конструкцию в дерево - C#
Формулировка задачи:
Нужно преобразовать скобочную конструкцию в дерево
например (((())())) преобразуется в
(
#(
##(
###(
###)
##)
###(
###)
##)
)
Решение задачи: «Преобразовать скобочную конструкцию в дерево»
textual
Листинг программы
string Parse(string input) { int count = 0; var buffer = new StringBuilder(); foreach (char s in input) { if (s == '(') buffer.Append('#', count++); else if (s == ')') { if (count == 0) throw new FormatException("Mismatched parentheses"); buffer.Append('#', --count); } else throw new FormatException("Invalid symbol '" + s + "'"); buffer.Append(s).AppendLine(); } if (count != 0) throw new FormatException("Mismatched parentheses"); return buffer.ToString(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д