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

每日一题——逆波兰表达式

当遇到数字的时候把他压入栈,当遇到符号的时候把前面两个式子出栈

要注意的是,栈的top是第二个参数,top后才是第一个参数

根据运算符操作后,再把结果压入栈中。

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param tokens string字符串vector 
     * @return int整型
     */
    int evalRPN(vector<string>& tokens) {
        int num1,num2;
        stack<int>st;
        for(auto c:tokens)
        {
            if(c=="*"||c=="+"||c=="-"||c=="/")
            {
                num2=st.top();st.pop();
                num1=st.top();st.pop();
                if(c=="*")
                {
                    st.push(num1*num2);
                }
                else if(c=="+")
                {
                    st.push(num1+num2);
                }
                else if(c=="-")
                {
                    st.push(num1-num2);
                }
                else if(c=="/")
                {
                    st.push(num1/num2);
                }
            }
            else
            {
                st.push(stoi(c));
            }
        }
        // write code here
        return st.top();
    }
};

 


http://www.kler.cn/a/585569.html

相关文章:

  • DeepSeek API 客户端使用文档
  • Spring Boot对接twilio发送邮件信息
  • Docker 部署Spring boot + Vue(若依为例)
  • Linux系统下安装Gedit文本编辑器的完整指南
  • C++能力测试题
  • 深入 Python 网络爬虫开发:从入门到实战
  • 完善 Django 框架以实现传递视频、图片给算法模块进行识别分析
  • 防止手机验证码被刷:React + TypeScript 与 Node.js + Express 的全面防御策略
  • WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)深度解析与实战复现
  • JVM 的不同组成部分分别有什么作用?
  • URL 中的参数通常用于跟踪和传递信息,特别是在在线广告和营销活动中。
  • 鸿蒙初学者学习手册(HarmonyOSNext_API14)_UIContext(@ohos.arkui.UIContext (UIContext))
  • tensorflow与torch并行读取数据机制
  • 浅谈StarRocks数据库简介及应用
  • 阿里巴巴发布 R1-Omni:首个基于 RLVR 的全模态大语言模型,用于情感识别
  • ZooKeeper的五大核心作用及其在分布式系统中的关键价值
  • Redis 常用数据类型
  • 在 Qt 中自定义控件样式:使用 QProxyStyle 代理和修改绘制元素
  • AnyAnomaly: 基于大型视觉语言模型的零样本可定制视频异常检测
  • 回文字串(信息学奥赛一本通-2044)