练习题 逆波兰表达式求值

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

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

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;
    }
}
相关推荐
jllllyuz1 分钟前
基于MATLAB的锂电池物理对象建模实现
开发语言·matlab
MyBFuture5 分钟前
C#数组详解:一维二维与交错数组
开发语言·windows·c#·visual studio·vision pro
像少年啦飞驰点、8 分钟前
零基础入门 Spring Boot:从“Hello World”到可部署微服务的完整学习路径
java·spring boot·微服务·编程入门·后端开发
程序 代码狂人22 分钟前
CentOS7初始化配置操作
linux·运维·开发语言·php
从此不归路24 分钟前
Qt5 进阶【13】桌面 Qt 项目架构设计:从 MVC/MVVM 到模块划分
开发语言·c++·qt·架构·mvc
zhangx1234_25 分钟前
C语言 数据在内存中的存储
c语言·开发语言
星空露珠26 分钟前
速算24点检测生成核心lua
开发语言·数据库·算法·游戏·lua
undsky_27 分钟前
【RuoYi-SpringBoot3-Pro】:将 AI 编程融入传统 java 开发
java·人工智能·spring boot·ai·ai编程
老蒋每日coding27 分钟前
Python3基础练习题详解,从入门到熟练的 50 个实例(一)
开发语言·python
历程里程碑30 分钟前
Linux15 进程二
linux·运维·服务器·开发语言·数据结构·c++·笔记