codeleventh / sftr

Тестовое

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Тестовое задание

Есть дерево.

Оно описано следующим языком:
Каждая вершина это или набор символов (например aaa) или набор символов, после которого в скобках через запятую перечислены его дочерние вершины

Примеры:
aaa
aaa(bbb,ccc)
aaa(bbb(sdf(1,2),ooo(4,5,fgh(6))),456)

В названиях вершин разрешены все символы, кроме скобок и запятых.
Требуется написать код, который получает на вход файл, где в каждой строке находится верное или неверное выражение на описанном языке.

На выходе должен получиться файл с таким же числом строк, где, в случае, если выражение было неверным должно быть написано слово ERROR, а если оно было верным, должно стоять выражение, в котором у каждой вершины дерева дочерние вершины стоят в порядке обратном исходному дереву.

Например, для aaa(bbb(sdf(1,2),ooo(4,5,fgh(6))),456)
Результатом будет aaa(456,bbb(ooo(fgh(6),5,4),sdf(2,1)))

About

Тестовое


Languages

Language:Java 100.0%