Программа курса:
Задача 17: Удаление внешних скобок
Напишите определение функции removeOuterParentheses(s), которая принимает строку s, представляющую валидную строку скобок.
Валидная строка скобок — это строка, которая:
- Либо пуста:
"". - Либо имеет вид
("(" + A + ")", гдеA— валидная строка скобок. - Либо имеет вид
A + B, гдеAиB— валидные строки скобок.
Примеры валидных строк скобок: "", "()", "(())()", "(()(()))".
Примитивная валидная строка скобок — это непустая валидная строка, которую нельзя разделить на две непустые валидные строки скобок.
Например:
"(()())"— примитивная строка, так как её нельзя разбить на две валидные строки."(()())(())"— это комбинация двух примитивных строк:"(()())"и"(())".
Вам дана валидная строка скобок s. Разделите её на примитивные строки и удалите внешние скобки у каждой из них. Верните итоговую строку.
Примеры
Пример 1:
Ввод:s = "(()())(())"
Вывод:"()()()"
Пояснение:
Строка "(()())(())" состоит из примитивных строк "(()())" и "(())".
После удаления внешних скобок: "()" + "()" = "()()()".
Пример 2:
Ввод:s = "(()())(())(()(()))"
Вывод:"()()()()(())"
Пояснение:
Строка "(()())(())(()(()))" состоит из примитивных строк "(()())", "(())", и "(()(()))".
После удаления внешних скобок: "()" + "()" + "()(())" = "()()()()(())".
Пример 3:
Ввод:s = "()()"
Вывод:""
Пояснение:
Строка "()()" состоит из примитивных строк "()" и "()".
После удаления внешних скобок: "" + "" = "".
xsnm
,осле удаления внешних скобок:
"()" + "()" = "()()()".xsnm
,"(()())"— примитивная строка, так как её нельзя разбить на две валидные строки.xsnm
,Примеры
Пример 1:
Ввод:
s = "(()())(())"Вывод:
"()()()"Пояснение:
Строка
"(()())(())"состоит из примитивных строк"(()())"и"(())".После удаления внешних скобок:
"()" + "()" = "()()()".admin
,xsnm, ? Я так и не понял все эти комментарии это претензии или какие-то цитаты)
admin
,xsnm,
Если баланс становится равным нулю, значит, завершился примитивный блок.
Мы не добавляем внешние скобки (первую и последнюю в каждом примитиве).