关注
写的挺工整的。但是有冗余部分,可以合并一下 import java.util.*; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); while (scan.hasNext()) { String s = scan.nextLine(); s = s.replace("[", "("); s = s.replace("{", "("); s = s.replace("]", ")"); s = s.replace("}", ")"); int res = solution(s); System.out.println(res); } } public static int solution(String s) { char ops = '+'; Stack<integer> stack = new Stack<>(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (c == ' ') continue; if (c == '+' || c == '-' || c == '*' || c == '/') { ops = c; continue; } int num = 0; if (Character.isDigit(c)) { while (i < s.length() && Character.isDigit(s.charAt(i))) { num = num * 10 + s.charAt(i) - '0'; i++; } i--; } else if (c == '(') { int left = i; int right = i + 1; int count = 1; while (right < s.length() && count > 0) { if (s.charAt(right) == '(') count++; else if (s.charAt(right) == ')') count--; right++; } i = right - 1; num = solution(s.substring(left + 1, right - 1)); } if (ops == '+') stack.push(num); else if (ops == '-') stack.push(-num); else if (ops == '*') stack.push(stack.pop() * num); else if (ops == '/') stack.push(stack.pop() / num); } int res = 0; while (!stack.isEmpty()) res += stack.pop(); return res; } }</integer>
点赞
相关推荐


阿里云
| 实习
| 超多精选岗位
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如何KTV领导 #
31993次浏览 259人参与
# 你投递的公司有几家约面了? #
39250次浏览 231人参与
# 掌阅春招 #
89068次浏览 517人参与
# 研究所笔面经互助 #
55151次浏览 395人参与
# 软开人,秋招你打算投哪些公司呢 #
67035次浏览 716人参与
# 生物制药/化工校招攻略 #
33830次浏览 265人参与
# 你遇到过哪些神仙同事 #
45377次浏览 432人参与
# 硬件/芯片公司工作体验 #
58535次浏览 560人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
72805次浏览 540人参与
# 如何缓解入职前的焦虑 #
141867次浏览 1129人参与
# 你最近一次加班是什么时候? #
31984次浏览 250人参与
# 软件开发春招备战日记 #
57757次浏览 495人参与
# Tplink求职进展汇总 #
102398次浏览 570人参与
# 考研人,我有话说 #
15766次浏览 292人参与
# vivo求职进展汇总 #
167942次浏览 1021人参与
# 在职场上,你最讨厌什么样的同事 #
10682次浏览 125人参与
# 产品每日一题 #
29120次浏览 404人参与
# 秋招白月光 #
52846次浏览 776人参与
# 你今年的平均薪资是多少? #
94348次浏览 462人参与
# 过年最难忘的一件事 #
10834次浏览 155人参与
# TP-LINK工作体验 #
38566次浏览 787人参与