public static String name(String s) {
StringBuffer sb = new StringBuffer(s);
Stack<Integer> stack = new Stack<Integer>();
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == '(') {
stack.push(i);
} else if (sb.charAt(i) == ')') {
if (stack.empty()) {
sb.deleteCharAt(i);
} else {
stack.pop();
}
}
}
while (!stack.empty()) {
int i = stack.pop();
sb.deleteCharAt(i);
}
return sb.toString();
}
力扣的移除无效括号的题,如果输入“))((” 则会输出“)”,该如何修改呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
- ¥20 网站后台使用极速模式非常的卡
- ¥20 Keil uVision5创建project没反应
- ¥15 mmseqs内存报错
- ¥15 vika文档如何与obsidian同步
- ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
- ¥15 陆空双模式无人机飞控设置
- ¥15 sentaurus lithography
- ¥100 求抖音ck号 或者提ck教程
- ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)