练习题 逆波兰表达式求值

逆波兰表达式求值
逆波兰表达式求值

后缀表达式也叫逆波兰表达式

java 复制代码
class Solution {
    public int evalRPN(String[] tokens) {
        Stack<Integer> stack=new Stack<>();
        for(String s:tokens){
            if(!isOperation(s)){
                stack.push(Integer.parseInt(s));
            }else{
                int num2=stack.pop();
                int num1=stack.pop();
                switch(s){
                    case"+":
                        stack.push(num1+num2);
                        break;
                    case"-":
                        stack.push(num1-num2);
                        break;
                    case"*":
                        stack.push(num1*num2);
                        break;
                    case"/":
                        stack.push(num1/num2);
                        break;
                }
            }
        }
        return stack.pop();
    }
    public boolean isOperation(String s){
        if(s.equals("+")||s.equals("-")||s.equals("*")||s.equals("/"))
            return true;
        return false;
    }
}
相关推荐
在等晚安么7 分钟前
力扣面试经典150题打卡
java·数据结构·算法·leetcode·面试·贪心算法
Fency咖啡14 分钟前
Spring进阶 - Spring事务理论+实战,一文吃透事务
java·数据库·spring
Tony Bai15 分钟前
【Go模块构建与依赖管理】01 前世今生:从 GOPATH 的“混乱”到 Go Modules 的“秩序”
开发语言·后端·golang
Zxxxxxy_36 分钟前
【MYSQL】增删改查
java·数据库·mysql
菜鸟的迷茫36 分钟前
线程池中的坑:线程数配置不当导致任务堆积与拒绝策略失效
java·后端
缺点内向38 分钟前
Java 使用 Spire.XLS 库合并 Excel 文件实践
java·开发语言·excel
asdfsdgss39 分钟前
多项目共享资源:Ruby 定时任务基于 Whenever 的动态扩缩容
java·网络·ruby
Deamon Tree1 小时前
Redis的过期策略以及内存淘汰机制
java·数据库·redis·缓存
Jing_jing_X1 小时前
Java 多线程:从单体到分布式的演进与陷阱
java·分布式
fouryears_234171 小时前
Redis缓存更新策略
java·spring boot·redis·spring