通过万岁!!!
- 题目:就是给你一个有效括号的字符串,然后去除最外层括号。这里的最外层的意思就是嵌套型的最外层,如果右两个并列的,就对两个并列的进行独立分析。
- 思路:就是遍历字符串,外层控制是不是遇到了’(‘,如果是,则一定是第一个,然后内存循环从当前位置开始找,找与之对应的’)‘,找的过程中,把中间的元素单独保存下来即可。这里我们用一个num来记录是不是找到了与之对应的’)'。
- 技巧:就是字符串的遍历。
java代码
class Solution {
public String removeOuterParentheses(String s) {
// 每次遇到一个第一个括号,然后我就是要删除他的然后找到他对应的右括号,提取中间的内容即可。
StringBuilder sb = new StringBuilder();
int idx = 0, num;
while (idx < s.length()) {
if (s.charAt(idx) == '(') {
idx++;
num = 1;
while (true) {
if (s.charAt(idx) == '(') {
num++;
} else {
num--;
}
if (num == 0) {
idx++;
break;
}
sb.append(s.charAt(idx));
idx++;
}
}
}
return sb.toString();
}
}
- 总结:题目还是比较简单的。