关注
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%
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 你的秋招白月光和意难平公司 #
21839次浏览 196人参与
# 应届生进小公司有什么影响吗 #
102098次浏览 1086人参与
# 百度秋招 #
58192次浏览 396人参与
# 你想跟着什么样领导? #
14333次浏览 144人参与
# 米哈游求职进展汇总 #
488408次浏览 2844人参与
# 十一月总结 #
25779次浏览 248人参与
# 中兴求职进展汇总 #
731643次浏览 3118人参与
# 上班到公司第一件事做什么? #
105687次浏览 716人参与
# 巨人网络工作体验 #
69194次浏览 499人参与
# 从夯到拉,评价编程语言 #
12265次浏览 101人参与
# 影石Insta360求职进展汇总 #
163718次浏览 1331人参与
# 长鑫存储求职进展汇总 #
48691次浏览 234人参与
# 什么样的背景能拿SSP? #
120400次浏览 421人参与
# 毕业季,你想好怎么跟生活对线了吗? #
258038次浏览 3842人参与
# 应届生应该先就业还是先择业 #
149530次浏览 758人参与
# 找实习是选平台还是选业务? #
16433次浏览 186人参与
# 深信服求职进展汇总 #
238169次浏览 1803人参与
# 机械人晒出你的简历 #
139705次浏览 861人参与
# 职场上哪些事情令人讨厌 #
28017次浏览 111人参与
# 机械人还在等华为开奖吗? #
282427次浏览 1443人参与
# 大厂面试初体验 #
80649次浏览 365人参与

