关注
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));
}
}
public static int resolve(String expr) {
String[] exprs = expr.split(" ");
Stack<Integer> stack = new Stack<>();
for(int i=0;i<exprs.length;i++){
String temp = exprs[i];
if(temp.equals("")){
continue;
}
if(!(temp.contains("*")||temp.contains("^")||temp.contains("+"))){
if(stack.size()==16){
return -2;
} else {
stack.push(Integer.valueOf(temp));
}
} else {
String posibleNumber="";
boolean isNum = false;
for(int j=0;j<temp.length();j++){
if(temp.codePointAt(j)>=48&&temp.codePointAt(j)<=57){
posibleNumber+=temp.charAt(j);
isNum=true;
} else {
if(isNum) {
if(stack.size()==16){
return -2;
} else {
stack.push(Integer.valueOf(posibleNumber));
posibleNumber="";
isNum=false;
j--;
}
} else {
if(temp.charAt(j) == '^'){
if(stack.size()==0){
return -1;
} else {
int tempNum = stack.pop()+1;
stack.push(tempNum);
}
} else if(temp.charAt(j) == '+') {
if(stack.size()<2){
return -1;
} else {
int tempA = stack.pop();
int tempB = stack.pop();
stack.push(tempA+tempB);
}
} else if(temp.charAt(j) == '*'){
if(stack.size()<2){
return -1;
} else {
int tempA = stack.pop();
int tempB = stack.pop();
stack.push(tempA*tempB);
}
}
}
}
}
if(isNum){
if(stack.size()==16){
return -2;
} else {
stack.push(Integer.valueOf(posibleNumber));
posibleNumber="";
isNum=false;
}
}
}
}
if(stack.size()>=1)
return stack.pop();
else
return -1;
}
}
通过100%
查看原帖
点赞 评论
相关推荐
06-01 21:54
湖南科技大学 嵌入式软件工程师 点赞 评论 收藏
分享
05-29 09:02
门头沟学院 Java 点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你觉得实习能学到东西吗 #
32090次浏览 648人参与
# 发工资后,你做的第一件事是什么 #
67714次浏览 229人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
26453次浏览 213人参与
# 秋招什么时候开投比较合适? #
19968次浏览 278人参与
# 百度工作体验 #
220285次浏览 1959人参与
# 如何准备秋招 #
18646次浏览 352人参与
# 工作中哪个瞬间让你想离职 #
25558次浏览 177人参与
# 机械人集合!你是什么工程师? #
15471次浏览 89人参与
# 硬件应届生薪资是否普遍偏低? #
73732次浏览 514人参与
# 快手求职进展汇总 #
546605次浏览 6001人参与
# 实习,不懂就问 #
43143次浏览 652人参与
# 你们公司几号发工资 #
20657次浏览 139人参与
# 不考虑转正,实习多久合适 #
31737次浏览 145人参与
# 软开人,秋招你打算投哪些公司呢 #
102603次浏览 958人参与
# 机械人与华为的爱恨情仇 #
116368次浏览 942人参与
# 每个月的工资都是怎么分配的? #
26049次浏览 414人参与
# 你觉得现在还能进互联网吗? #
7791次浏览 130人参与
# 多益网络求职进展汇总 #
28914次浏览 134人参与
# 预测一下26届秋招形势 #
39121次浏览 301人参与
# 元戎启行求职进展汇总 #
32429次浏览 240人参与
# 远程面试的尴尬瞬间 #
106936次浏览 858人参与