Если в качестве входных данных правильно задана строка в скобках, выведите список всех непустых подстрок в соответствующих скобках (или за пределами всех скобок) с удалением вложенных скобок. Каждая подстрока должна быть последовательностью символов в одинаковых совпадающих скобках. Подстроки должны быть перечислены в порядке глубины, а подстроки той же глубины должны быть перечислены в порядке их появления в строке. Предположим, что входные данные всегда правильно заключены в скобки.
Вы можете предположить, что ввод содержит только строчные буквы ASCII и круглые скобки.
Ваш ответ должен быть функцией, которая при задании строки возвращает список строк.
Примеры:
'a(b)c(d)e' -> ['ace', 'b', 'd']
'a(b(c)d)e' -> ['ae', 'bd', 'c']
'a((((b))))' -> ['a', 'b']
'a()b' -> ['ab']
'' -> []
'a' -> ['a']
'(((a(b)c(d)e)f)g)h' -> ['h', 'g', 'f', 'ace', 'b', 'd']
'ab(c(((d)ef()g)h()(i)j)kl)()' -> ['ab', 'ckl', 'hj', 'efg', 'i', 'd']
Побеждает несколько байтов.
i
менее глубоко вложен, чем d
.
'i'
и'd'
в правильном порядке в последнем тесте?