[力扣题解]150. 逆波兰表达式求值

server/2024/9/23 21:46:47/

题目:150. 逆波兰表达式求值

思路

建一个栈,遍历算式,遇到数字塞进去,遇到算符,去除栈顶2个元素进行运算;
假设算式是9 3 -,栈里的顺序是9 3,(栈顶在右),用第二读出来的9减去第一个读出来的3

代码

class Solution {
public:int evalRPN(vector<string>& tokens) {stack<int> st;int i, result;int num1, num2, temp;for(i = 0; i < tokens.size(); i++){if(tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "*" || tokens[i] == "/"){num1 = st.top();st.pop();num2 = st.top();st.pop();if(tokens[i] == "+"){temp = num2 + num1;}else if(tokens[i] == "-"){temp = num2 - num1;}else if(tokens[i] == "*"){temp = num2 * num1;}else if(tokens[i] == "/"){temp = num2 / num1;}st.push(temp);}else // 是数字{st.push(stoi(tokens[i]));}}return st.top();}
};

注意string转int函数用法:stoi()


http://www.ppmy.cn/server/38187.html

相关文章

ChatGPT-Next-Web漏洞利用分析(CVE-2023-49785)

1. 漏洞介绍 ​ 日常网上冲浪&#xff0c;突然粗看以为是有关Chat-GPT的CVE披露出来了&#xff0c;但是仔细一看原来是ChatGPT-Next-Web的漏洞。漏洞描述大致如下&#xff1a;&#xff08;如果有自己搭建了还没更新的速速修复升级防止被人利用&#xff0c;2.11.3已经出来了&am…

HTTPS | HTTPS的证书和私钥文件如何进行匹配度比对?

关注WX&#xff1a;CodingTechWork 引言 在互联网通信中&#xff0c;保障数据传输的安全性至关重要。HTTPS&#xff08;Hypertext Transfer Protocol Secure&#xff09;是一种安全的HTTP协议&#xff0c;通过使用SSL/TLS协议进行加密来保护数据的传输。  在搭建HTTPS连接时…

社交客户关系管理(SCRM),和传统CRM的区分

一、SCRM是什么 SCRM是社交客户关系管理&#xff08;Social Customer Relationship Management&#xff09;的缩写&#xff0c;是指通过利用社交媒体和社交网络来管理和建立与客户之间的关系。SCRM将传统的客户关系管理&#xff08;CRM&#xff09;与社交媒体的互动和数据整合…

Saga事务实现原理详解与Java实践

引言 在分布式系统中&#xff0c;事务的ACID特性&#xff08;原子性、一致性、隔离性、持久性&#xff09;面临着巨大的挑战。传统的关系型数据库事务在分布式场景下往往难以适用&#xff0c;因此&#xff0c;各种分布式事务解决方案应运而生。其中&#xff0c;Saga模式作为一…

Mysql总结

推荐你阅读 互联网大厂万字专题总结 Redis总结 JUC总结 操作系统总结 JVM总结 Mysql总结 互联网大厂常考知识点 什么是系统调用 CPU底层锁指令有哪些 AQS与ReentrantLock原理 旁路策略缓存一致性 Java通配符看这一篇就够 基础篇 Mysql 的一条语句是如何执行的 Server 层是上层…

netty 高性能架构设计--零拷贝

文章目录 前言一、直接内存1.1 什么是直接内存1.2 代码实现1.3 使用直接内存的优缺点 二、netty 零拷贝设计2.1 netty 直接内存2.2 netty 内存池 三、零拷贝的两种方式 前言 本篇从源码层面剖析 netty 高性能架构设计之零拷贝&#xff0c;并且扩展讲述零拷贝的两种实现方式。 …

Git撤回指定commit不保留更改

要撤销指定的commit但不保留这个commit中的更改&#xff0c;可以使用以下命令&#xff1a; git revert <commit_hash> --no-commit这里的<commit_hash>是你想要撤销的commit的哈希值。如果你想要在一个commit上使用这个命令&#xff0c;你可以用它的哈希值或者用H…

QT 信号与槽的初步理解

信号究竟是由谁发出的? 当MainWindow1中的某个button点击触发了clicked事件,这个信号是由ui->button发出的 ...connect(ui->button, SIGNAL(clicked()), this, SLOT(example_slot()));...void MainWindow::example_slot() {//do something } 当同时存在两个窗口时: …