【LeetCode-中等题】150. 逆波兰表达式求值

news2024/11/23 11:30:06

文章目录

    • 题目
    • 方法一:栈

题目

在这里插入图片描述

方法一:栈

在这里插入图片描述

class Solution {
    public int evalRPN(String[] tokens) {
        Deque<Integer> deque= new LinkedList<>();
        String rpn = "+-*/";//符号集  用来判断扫描的是否为运算符
        int sum = 0;
        for(int i = 0 ; i < tokens.length ; i++){
            if(!rpn.contains(tokens[i])) deque.push(Integer.valueOf(tokens[i]));// 如果当前字符不为运算符  则直接入栈 
            else{// 如果当前字符为运算符  则将栈顶两个元素弹出  根据    后出 +-*/ 先出 的规则运算,再将结果压入栈中
                sum = eval(tokens[i],deque);
                deque.push(sum);
            }
        }
        return deque.peek();//最后遍历完字符数组  最后栈中的唯一元素就是最终结果

    }
    //匹配运算
    public int eval(String s ,   Deque<Integer> deque){
        int  first = deque.pop();
        int  second = deque.pop();
        if(s.equals("+")){
          return second + first;
        }else if(s.equals("-")){
          return second - first;
        }else if(s.equals("*")){
          return second * first;
        }else{
          return second / first;
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1019508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JDK18特性

文章目录 JAVA18概述1. 默认UTF-8字符编码2. 简单的Web服务器3.JavaDoc的增强4. 反射功能的新特性5.Vector API(三次孵化)6. 互联网地址解析SPI7. 外部函数和内存API(二次孵化)8.switch 表达式 JAVA18概述 Java 18 在 2022 年 3 月 22 日正式发布&#xff0c;Java 18 不是一个…

简单的手机电脑无线传输方案(android@windows)

文章目录 abstractwindows浏览android文件环境准备客户端软件无线网络链接步骤其他方法 手机浏览电脑文件公网局域网everythingpython http.server abstract windows访问android文件 android访问桌面系统上的文件 windows浏览android文件 环境准备 客户端软件 android手机…

引导加载程序

引导加载程序概览 引导加载程序是供应商专有的映像&#xff0c;负责在设备上启动内核。引导加载程序会监护设备状态&#xff0c;负责初始化可信执行环境 (TEE) 以及绑定其信任根。引导加载程序还会在将执行工作移到内核之前先验证 boot 和 recovery 分区的完整性。 引导加载程…

京都大学利用 CNN 预测粮食产量,丰收不问天,问 AI 就够了

联合国预测&#xff0c;2050 年世界人口预计达到 91 亿&#xff0c;全球对粮食的需求量将增加 70%。然而&#xff0c;由于世界农业发展不均衡&#xff0c;很多地区的粮食产量尚无法被准确统计&#xff0c;因此无法对这些区域的农业发展做出合理规划。现有的粮食产量统计方法则难…

项目进度管理(3-3)PERT计划评审技术 理论和实践详解

1 计划评审技术起源 PERT&#xff08;Program Evaluation and Review Technique&#xff0c;项目评估和审查技术&#xff09;的起源可以追溯到20世纪50年代&#xff0c;与美国国防部和美国海军的项目管理有关。 PERT的发展始于20世纪50年代初&#xff0c;当时美国国防部正面临…

苹果笔不用原装可以吗?好用的平板触控笔

由于Apple pencil的出世&#xff0c;给许多小伙伴带了很高的生产效率。但Apple pencil的昂贵&#xff0c;让许多小伙伴连连劝退&#xff0c;觉得只是偶尔写字&#xff0c;没有必要入手一支这么昂贵的笔&#xff0c;咱们国内也会很多做得相当不错的平替电容笔&#xff0c;但很多…

java反序列化---URLDNS链

目录 一、前言 二、原理分析 三、代码实现 一、前言 URLDNS链相较于其他java反序列化链是比较简单的&#xff0c;只需要几步调用就能触发 所以学习java反序列化&#xff0c;最好从URLDNS链出发&#xff0c;初步了解如何跟进&#xff0c;以及反射获取类、方法等 使用这条链…

『PyQt5-Qt Designer篇』| 10 Qt Designer中控件的尺寸相关设置(sizePolicy策略)

10 Qt Designer中控件的尺寸相关设置(sizePolicy策略) 1 设置控件尺寸1.1 查看最大和最小尺寸1.2 设置最大和最小尺寸2 期望尺寸2.1 期望尺寸2.2 获取期望尺寸3 sizePolicy(尺寸策略)3.1 简介3.2 属性值4 示例1 设置控件尺寸 1.1 查看最大和最小尺寸 默认情况下控件的最大值…

Java集合之HashSet接口

Set Set接口、HashSet类、TreeSet类 Set&#xff08;组、集&#xff09;&#xff1a;表示无序&#xff0c;元素不能重复的集合&#xff0c;组中的元素必须唯一 Set接口 Set接口定义了组/集/集合&#xff08;Set&#xff09;。他扩展了Collection接口&#xff0c;并声明了不允…

华为OD机试 - 分苹果 - 二进制(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明核心算法&#xff1a;按照二进制加法计算&#xff0c;并且不计算进位。但是&#xff0c;B希望在满足A的情况下获取苹果重量最多。 华为OD机试 2023B卷题库疯狂…

企业架构LNMP学习笔记51

企业案例使用&#xff1a; 主从模式&#xff1a; 缓存集群结构示意图&#xff1a; 去实现Redis的业务分离&#xff1a; 读的请求分配到从服务器上&#xff0c;写的请求分配到主服务器上。 Redis是没有中间件来进行分离的。 是通过业务代码直接来进行读写分离。 准备两台虚…

wordpress使用category order and taxonomy terms order插件实现分类目录的拖拽排序

文章目录 引入实现效果安装插件使用插件 引入 使用docker快速搭建wordpress服务&#xff0c;并指定域名访问 上一节我们使用docker快速搭建了wordpress服务&#xff0c;可以看到基础的wordpress服务已经集成基础的用户管理、文章发布、页面编辑、文章分类等功能&#xff0c;但…

某验3空间推理验证码破解

geetest极验空间推理验证码破解 > 本篇文章仅供学习使用&#xff0c;如侵权请联系删除。某验验证码3代&#xff0c;4代已经是老生常谈的问题了&#xff0c;本篇文章粗略的分析一波3代空间推理验证码识别与验证的整个过程。 yolov识别坐标 1.参数破解 从一开始gt和challen…

【Django】掌握models.py模型文件的使用

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、models类继承&#xff08;一&#xff09;创建apps文件夹&#xff08;二&#xff09;settings.py文件配置&#xff08;三&#xff09;…

python连接mysql数据库报错pymysql.err.OperationalError

报错如下&#xff1a; 历史工程使用的是python3.6pymysqlmysql8.0 原因分析&#xff1a; 1、可能密码错误&#xff0c;通过navicat可以正常连接, 可排除 2、可能新版mysql默认使用的caching_sha2_password认证方式&#xff0c;换成mysql_native_password就可以 解决方法&am…

【今日话题】如何看待Unity收费一事,对标中小公司的从业者的该如何做

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

nowcoder NC30 缺失的第一个正整数

目录 题目描述&#xff1a; 分析&#xff1a; 完整代码&#xff1a; 题目链接&#xff1a; https://www.nowcoder.com/share/jump/819478881694767416272 题目描述&#xff1a; 给定一个无重复元素的整数数组nums&#xff0c;请你找出其中没有出现的最小的正整数 进阶&am…

常用电压基准芯片SC431BVSNT1G 应用及介绍

SC431BVSNT1G安森美深力科一款集成电路为三端子可编程并联调节二极管。这些单片IC电压参考作为低温系数齐纳工作可使用两个外部电阻器从Vref编程到36V。工作电流范围很宽&#xff0c;从40 a到100 mA典型的动态阻抗为0.22&#xff0c;2.5 V参考电压便于获得来自5.0 V逻辑电源的稳…

Python爆破shadow文件密码

原理 加密算法(明文&#xff0c;盐值) 密文 上面是shadow文件中密码的加密公式&#xff0c;我们可以用Python中的crypt()函数进行上述运算&#xff0c;如果得出的密文与原来的一致&#xff0c;说明密码爆破成功。 关于盐值和shadow文件的字段详解&#xff0c;请移步我的这篇博…

Vue-01:MVVM数据双向绑定与Vue的生命周期

一、Vue介绍 1.1 什么是Vue &#xff1f; Vue是一个渐进式的JavaScript框架&#xff0c;用于构建用户界面。"渐进式"意味着Vue的设计理念是逐步增强应用的功能和复杂性&#xff0c;而不是一次性地引入所有功能。这使得开发者可以根据项目需求选择性地使用Vue的不同特…