AC import java.util.ArrayList; import java.util.Scanner; import java.util.Stack; public class Main { public static void main(String[] args) { ArrayList<Integer> inputs = new ArrayList<Integer>(); Scanner in = new Scanner(System.in); String line = in.nextLine(); if(line != null && ! line.isEmpty()) { int res = resolve(line.trim()); System.out.println(String.valueOf(res)); } } // write your code here public static int resolve(String expr) { Stack<Integer> stack = new Stack<>(); String[] split = expr.split("\\s+"); for (int i = 0; i < split.length; i ++) { if(split[i].equals("^")) { if(stack.size() < 1) return - 1; stack.push(stack.pop() + 1); } else if(split[i].equals("+")) { if(stack.size() < 2) return - 1; stack.push(stack.pop() + stack.pop()); } else if(split[i].equals("*")) { if(stack.size() < 2) return - 1; stack.push(stack.pop() * stack.pop()); } else { if(stack.size() > 16) return - 2; stack.push(Integer.parseInt(split[i])); } } return stack.pop(); } }
点赞 评论

相关推荐

10-27 02:29
已编辑
门头沟学院 嵌入式工程师
牛客72783561...:简历不是这么写的,你这两个项目只说了用到了什么技术,却没说取得了什么成果,在我看来这就是你自己做的一个demo,没有价值。你为什么不写你电赛国二的那个项目?
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务