关注
import java.util.ArrayList;
import java.util.Stack;
import java.util.List;
import java.util.Scanner;
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) {
String[] array = expr.split("\\s+");
Stack stack = new Stack();
int count = 0;
for (int i = 0; i < array.length; i++){
if (array[i].equals("+")){
count--;
int temp1 = 0;
if (count >= 0){
temp1 = (int)stack.pop();
} else {
return -1;
}
count--;
int temp2 = 0;
if (count >= 0){
temp2 = (int)stack.pop();
}else {
return -1;
}
count++;
stack.push(temp1+temp2);
}else if (array[i].equals("*")){
count--;
int temp1 = 0;
if (count >= 0){
temp1 = (int)stack.pop();
} else {
return -1;
}
count--;
int temp2 = 0;
if (count >= 0){
temp2 = (int)stack.pop();
}else {
return -1;
}
count++;
stack.push(temp1*temp2);
}else if (array[i].equals("^")){
count--;
int temp = 0;
if (count >= 0){
temp = (int)stack.pop();
} else {
return -1;
}
temp += 1;
count++;
stack.push(temp);
}else {
int temp = Integer.parseInt(array[i]);
count++;
if (count > 16){
return -2;
}else {
stack.push(temp);
}
}
}
return (int)stack.pop();
}
}
我这样写ac了
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 牛客新年AI问运 #
3644次浏览 83人参与
# 刚工作,应该先搞钱or搞成长? #
20922次浏览 165人参与
# 牛客AI体验站 #
15747次浏览 278人参与
# 你觉得第一学历对求职有影响吗? #
230131次浏览 1267人参与
# 如何提高实习转正率? #
85867次浏览 504人参与
# 找工作中的小确幸 #
80471次浏览 448人参与
# 实习在多还是在精 #
82861次浏览 509人参与
# 你觉得技术面多长时间合理? #
168194次浏览 1170人参与
# 牛友的春节生活 #
12568次浏览 230人参与
# 月薪多少能在一线城市生存 #
136548次浏览 898人参与
# 哪些公司对双非友好 #
207052次浏览 1163人参与
# 选了这个offer,你有没有后悔? #
738814次浏览 4472人参与
# 秋招踩过的“雷”,希望你别再踩 #
185769次浏览 1684人参与
# 备战春招/暑实,现在应该做什么? #
8273次浏览 205人参与
# 从夯到拉,锐评职场mentor #
8040次浏览 114人参与
# 实习到现在,你最困惑的一个问题 #
7288次浏览 169人参与
# 电网笔面经互助 #
59734次浏览 476人参与
# 找工作中的意难平 #
983926次浏览 6424人参与
# 制造业的秋招小结 #
143431次浏览 2089人参与
# 春招什么时候投? #
13544次浏览 211人参与
OPPO公司福利 1202人发布