Распаковка строки в виде nA[nB]
Даны строки вот в таком виде:
2[a]2[ab]
3[a]2[r2[t]]
a2[aa3[b]]
Цифры означают количество повторений того, что внутри скобок. То есть распакованные строки будут:
aaabab
aaarttrtt
aaabbbaabbb
Нужен алгоритм преобразования запакованной строки в распакованную. Понимаю что это где-то про скобочные последовательности, но не могу сообразить. В идеале на java, но можно и псевдокод. Заранее спасибо!
Ответы (1 шт):
Автор решения: VIctor
→ Ссылка
Идем по строке, как только встречаем число - значит запакованная часть, запускаем метод распаковка, внутри которого он же рекурсивно вызывается, как только встречает число. Все работает довольно просто и шустро.