Class Solution
Easy
A valid parentheses string is either empty ""
, "(" + A + ")"
, or A + B
, where A
and B
are valid parentheses strings, and +
represents string concatenation.
- For example,
""
,"()"
,"(())()"
, and"(()(()))"
are all valid parentheses strings.
A valid parentheses string s
is primitive if it is nonempty, and there does not exist a way to split it into s = A + B
, with A
and B
nonempty valid parentheses strings.
Given a valid parentheses string s
, consider its primitive decomposition: s = P1 + P2 + โฆ + Pk
, where Pi
are primitive valid parentheses strings.
Return s
after removing the outermost parentheses of every primitive string in the primitive decomposition of s
.
Example 1:
Input: s = โ(()())(())โ
Output: โ()()()โ
Explanation:
The input string is โ(()())(())โ, with primitive decomposition โ(()())โ + โ(())โ.
After removing outer parentheses of each part, this is โ()()โ + โ()โ = โ()()()โ.
Example 2:
Input: s = โ(()())(())(()(()))โ
Output: โ()()()()(())โ
Explanation:
The input string is โ(()())(())(()(()))โ, with primitive decomposition โ(()())โ + โ(())โ + โ(()(()))โ.
After removing outer parentheses of each part, this is โ()()โ + โ()โ + โ()(())โ = โ()()()()(())โ.
Example 3:
Input: s = โ()()โ
Output: ""
Explanation:
The input string is โ()()โ, with primitive decomposition โ()โ + โ()โ.
After removing outer parentheses of each part, this is "" + "" = "".
Constraints:
1 <= s.length <= 105
s[i]
is either'('
or')'
.s
is a valid parentheses string.
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
removeOuterParentheses
-