给你一个只包含 '(' 和 ')' 的字符串 s,以及一个整数 k。
如果一个 字符串 恰好是 k 个 连续 的 '(' 后面跟着 k 个 连续 的 ')',即 '(' * k + ')' * k ,那么称它是 k-平衡 的。
例如,如果 k = 3,k-平衡字符串是 "((()))"。
你必须 重复地 从 s 中移除所有 不重叠 的 k-平衡子串,然后将剩余部分连接起来。持续这个过程直到不存在 k-平衡 子串 为止。
返回所有可能的移除操作后的最终字符串。
子串 是字符串中 连续 的 非空 字符序列。
示例 1:
输入: s = "(())", k = 1
输出: ""
解释:
k-平衡子串是 "()"
| 步骤 | 当前 s |
k-平衡 |
结果 s |
|---|---|---|---|
| 1 | (()) |
( |
() |
| 2 | () |
() |
Empty |
因此,最终字符串是 ""。
示例 2:
输入: s = "(()(", k = 1
输出: "(("
解释:
k-平衡子串是 "()"
| 步骤 | 当前 s |
k-平衡 |
结果 s |
|---|---|---|---|
| 1 | (()( |
( |
(( |
| 2 | (( |
- | (( |
因此,最终字符串是 "(("。
示例 3:
输入: s = "((()))()()()", k = 3
输出: "()()()"
解释:
k-平衡子串是 "((()))"
| 步骤 | 当前 s |
k-平衡 |
结果 s |
|---|---|---|---|
| 1 | ((()))()()() |
|
()()() |
| 2 | ()()() |
- | ()()() |
因此,最终字符串是 "()()()"。
提示:
2 <= s.length <= 105s 仅由 '(' 和 ')' 组成。1 <= k <= s.length / 2