Задача 17: Удаление внешних скобок

Напишите определение функции removeOuterParentheses(s), которая принимает строку s, представляющую валидную строку скобок.

Валидная строка скобок — это строка, которая:

  1. Либо пуста: "".
  2. Либо имеет вид ("(" + A + ")", где A — валидная строка скобок.
  3. Либо имеет вид A + B, где A и B — валидные строки скобок.

Примеры валидных строк скобок: "", "()", "(())()", "(()(()))".

Примитивная валидная строка скобок — это непустая валидная строка, которую нельзя разделить на две непустые валидные строки скобок.

Например:

  • "(()())" — примитивная строка, так как её нельзя разбить на две валидные строки.
  • "(()())(())" — это комбинация двух примитивных строк: "(()())" и "(())".

Вам дана валидная строка скобок s. Разделите её на примитивные строки и удалите внешние скобки у каждой из них. Верните итоговую строку.


Примеры

Пример 1:
Ввод:
s = "(()())(())"
Вывод:
"()()()"
Пояснение:
Строка "(()())(())" состоит из примитивных строк "(()())" и "(())".
После удаления внешних скобок: "()" + "()" = "()()()".


Пример 2:
Ввод:
s = "(()())(())(()(()))"
Вывод:
"()()()()(())"
Пояснение:
Строка "(()())(())(()(()))" состоит из примитивных строк "(()())", "(())", и "(()(()))".
После удаления внешних скобок: "()" + "()" + "()(())" = "()()()()(())".


Пример 3:
Ввод:
s = "()()"
Вывод:
""
Пояснение:
Строка "()()" состоит из примитивных строк "()" и "()".
После удаления внешних скобок: "" + "" = "".

0

Комментарии

xsnm_avatar
xsnm
,
5 месяцев, 18 дней назад

осле удаления внешних скобок: "()" + "()" = "()()()".

0
xsnm_avatar
xsnm
,
5 месяцев, 18 дней назад
  • "(()())" — примитивная строка, так как её нельзя разбить на две валидные строки.
0
xsnm_avatar
xsnm
,
5 месяцев, 18 дней назад

Примеры

Пример 1:
Ввод:
s = "(()())(())"
Вывод:
"()()()"
Пояснение:
Строка "(()())(())" состоит из примитивных строк "(()())" и "(())".
После удаления внешних скобок: "()" + "()" = "()()()".

0
admin_avatar
admin
,
5 месяцев, 17 дней назад

xsnm, ? Я так и не понял все эти комментарии это претензии или какие-то цитаты)

0
admin_avatar
admin
,
5 месяцев, 17 дней назад

xsnm

 Если баланс становится равным нулю, значит, завершился примитивный блок.

 Мы не добавляем внешние скобки (первую и последнюю в каждом примитиве).

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии