Распаковка строки в виде nA[nB]

Даны строки вот в таком виде:

2[a]2[ab]
3[a]2[r2[t]]
a2[aa3[b]]

Цифры означают количество повторений того, что внутри скобок. То есть распакованные строки будут:

aaabab
aaarttrtt
aaabbbaabbb

Нужен алгоритм преобразования запакованной строки в распакованную. Понимаю что это где-то про скобочные последовательности, но не могу сообразить. В идеале на java, но можно и псевдокод. Заранее спасибо!


Ответы (1 шт):

Автор решения: VIctor

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

→ Ссылка