关注
我的方法是用两个栈分别 1、 记录上一次左括号出现位置、索引坐标 2、对于非括号字符统计长度(方便反转),str 记录所有非括号字符 3、遍历右括号,判断是否有左括号,无返回 “” 4、存在左括号,对相应长度的字符进行反转 你可以照着我代码看一下,应该还是比较好理解的 // 用栈来判断括号是否匹配,str 记录非括号字符,每一对括号中的数翻转一次
static String resolve(String expr) {
Stack<Character> stack = new Stack<>();
Stack<Integer> reverse=new Stack<>();
String str = "";
int count=0; // 记录翻转长度
for (int i = 0; i < expr.length(); i++) {
// 记录上一左括号出现时,str 长度,记录需要翻转的长度
char c = expr.charAt(i);
if (c == '(') {
stack.add(c);
reverse.add(str.length());
} else if (c == ')') {
if (stack.size() < 1) {
return "";
}
int last = reverse.pop();
StringBuilder temp = new StringBuilder(str.substring(last, str.length()));
str = str.substring(0, last) + temp.reverse();
stack.pop();
count = 0; // 归零
} else {
str+=""+c;
count++;
}
}
return stack.size() == 0 ? str : "";
}
查看原帖
点赞 1
相关推荐
11-20 13:35
广东白云学院 数据运营 立马来offer:去哪个大厂了啊,其实你选了小公司,遇到不开心的也会后悔没有选择大平台。别美化小公司了,至少大厂有平台,有二次选择的能力
点赞 评论 收藏
分享
查看35道真题和解析
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
302991次浏览 2690人参与
# 如果不工作真的会快乐吗 #
59461次浏览 519人参与
# 阿里云管培生offer #
17807次浏览 297人参与
# 地方国企笔面经互助 #
3886次浏览 11人参与
# 美团求职进展汇总 #
1328136次浏览 12453人参与
# 选完offer后,你后悔学本专业吗 #
20157次浏览 144人参与
# 百度开奖 #
163866次浏览 981人参与
# 正在实习的你,几点下班 #
52111次浏览 391人参与
# 国央企薪资爆料 #
8616次浏览 69人参与
# 如何一边实习一边秋招 #
992498次浏览 12640人参与
# 提前批简历挂麻了怎么办 #
146568次浏览 1948人参与
# 学历or实习经历,哪个更重要 #
51284次浏览 402人参与
# 海康威视求职进展汇总 #
399047次浏览 3406人参与
# 米哈游求职进展汇总 #
176085次浏览 1458人参与
# 求职遇到的搞笑事件 #
70899次浏览 577人参与
# 投递实习岗位前的准备 #
1179726次浏览 18397人参与
# 面试体验感最好的是哪家? #
85154次浏览 846人参与
# 实习生应该准时下班吗 #
167486次浏览 1159人参与
# 得物求职进展汇总 #
66363次浏览 682人参与
# 网申一定要掌握的小技巧 #
5353次浏览 53人参与
# 招聘要求与实际实习内容不符怎么办 #
10315次浏览 273人参与
# 0offer是寒冬太冷还是我太菜 #
898891次浏览 8015人参与