当前位置: 首页 > news >正文

2025年- G33-Lc107-150. 评估逆波兰表示法--java版

1.题目描述

在这里插入图片描述
在这里插入图片描述

2.思路

在这里插入图片描述
(1)遇到数字,将数字压入栈中,遵循先进后出得策略
(2)遇到运算符,先从栈顶弹出两个元素,进行计算,把结果压入栈中
例子1:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.代码实现

class Solution {
    public int evalRPN(String[] tokens) {

        Stack<Integer> s=new Stack<>();

        for(String token:tokens)
        {  //tokens是字符串,有运算符也有数字
            if(isOperator(token))
            {
                int b=s.pop();               //出栈顺序b,a
                int a=s.pop();
                s.push(applyOperator(a,b,token));                             //b,a做运算之后,把结果压入栈中,参数的顺序和构造方法一样
            }
            else
            {
              s.push(Integer.parseInt(token));//如果token不是运算符,也就是操作数,直接压入栈中
            }
        }
        return s.pop();//栈中最终只会剩下一个元素,这就是计算结果
        //return s.peek();//可以查看最后返回的栈顶元素
    }
        
    
    private boolean isOperator(String token)
    {
        return token.equals("+")||token.equals("-")||token.equals("*")||token.equals("/");
        //return "+-*/".contains(token);
    }
    private int applyOperator(int a, int b, String op)//入栈顺序a,b
    {
        switch(op){
        case"+": return a+b;
        case"-":return a-b;
        case"*":return a*b;
        case"/":return a/b;
        default:throw new IllegalArgumentException("无效的运算符: " +op);
        }
    }
    
}

相关文章:

  • 电脑办公之文件(夹)操作
  • CentOS-查询实时报错日志-查询前1天业务报错gz压缩日志
  • 当AI开始“思考“:揭秘大语言模型的文字认知三部曲题
  • 使用RKNN进行yolo11-cls部署
  • Java的Stream流
  • 大量意图识别方案
  • 目标跟踪综合知识
  • 前端抽象化,打破框架枷锁:Http请求也许该一样
  • 数字化转型国家标准- GB/T 45341-2025《数字化转型管理 参考架构》
  • ThreadLocal 深度解析
  • 解决Certificate verification failed错误
  • linux--0.Linux的特点
  • 群体智能优化算法-变色龙优化算法(Chameleon Swarm Algorithm, CSA,含Matlab源代码)
  • cJSON 处理 JSON(轻量级 C 语言库)(二)
  • 蓝桥杯备赛:动态规划入门
  • 架构设计基础系列:面向对象设计的原则
  • 【Spring Boot 与 Spring Cloud 深度 Mape 之三】服务注册与发现:Nacos 核心实战与原理浅析
  • 【Easylive】服务端操作 Cookie 的完整流程(结合案例解析)
  • APIPost接口测试完整流程指南
  • java学习笔记11——泛型
  • 美众议院通过法案将“墨西哥湾”更名为“美国湾”
  • 中俄元首今年首次面对面会谈,达成哪些新的重要共识?
  • 警惕“全网最低价”等宣传,市监总局和中消协发布直播消费提示
  • 东亚社会的“苦难诗学”:从《苦尽柑来遇见你》说起
  • “20后”比“60后”更容易遭遇极端气候事件
  • 复旦设立新文科发展基金,校友曹国伟、王长田联合捐赠1亿助力人文学科与社会科学创新