关注
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了
查看原帖
点赞 评论
相关推荐
10-25 10:42
成都理工大学 数据分析师 点赞 评论 收藏
分享
斫桂:问的都挺简单的
查看10道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
8189次浏览 206人参与
# 实习简历求拷打 #
11470次浏览 146人参与
# 被上班搭子“传染”了哪些习惯 #
5421次浏览 97人参与
# 秋招被挂春招仍然能投的公司 #
6584次浏览 94人参与
# 工作后,你落下了哪些病根 #
13148次浏览 184人参与
# mt对你说过最有启发的一句话 #
35125次浏览 419人参与
# 摸鱼被leader发现了怎么办 #
100745次浏览 641人参与
# 考研失败就一定是坏事吗? #
200819次浏览 1369人参与
# 秋招特别不鸣谢 #
15493次浏览 176人参与
# 选实习,你更看重哪方面? #
13803次浏览 215人参与
# 作业帮求职进展汇总 #
82776次浏览 545人参与
# 今年秋招你收到了多少封邮件? #
17883次浏览 219人参与
# 机械/制造每日一题 #
80233次浏览 1411人参与
# 第一次面试 #
1036405次浏览 13682人参与
# 携程求职进展汇总 #
839912次浏览 5530人参与
# 毕业论文进行时 #
20855次浏览 131人参与
# 工作中遇到的歹人 #
27908次浏览 313人参与
# 京东美团大战,你怎么看? #
158016次浏览 859人参与
# 你今年的保底offer是哪家 #
155068次浏览 671人参与
# 找工作有哪些冷知识 #
205810次浏览 2607人参与
