1021. Remove Outermost Parentheses #
题目 #
- 有效括号字符串为空
""、"(" + A + ")"或A + B,其中A和B都是有效的括号字符串,+代表字符串的连接。- 例如,
"","()","(())()"和"(()(()))"都是有效的括号字符串。
- 例如,
- 如果有效字符串
s非空,且不存在将其拆分为s = A + B的方法,我们称其为原语(primitive),其中A和B都是非空有效括号字符串。 - 给出一个非空有效字符串
s,考虑将其进行原语化分解,使得:s = P_1 + P_2 + ... + P_k,其中P_i是有效括号字符串原语。 - 对
s进行原语化分解,删除分解中每个原语字符串的最外层括号,返回s。
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public String removeOuterParentheses(String s) {
String ans = "";
int left = 0, right = 0;
for (int i = 0, j = 0; j < s.length(); j++) {
Character ch = s.charAt(j);
if (ch == '(') left++;
else if (--left == 0) {
ans += s.substring(i+1, j);
i = j + 1;
}
}
return ans;
}
}