关于栈【力扣150.逆波兰表达式求值的思考】

目录

一、本题题目

二、本题代码

三、关键思路

四、注意事项


一、本题题目

二、本题代码

三、关键思路

1、用一个栈来存数字

2、如果遇到运算符,就弹出两个数字进行运算,结果再存回栈里面

3、最后返回栈顶元素

四、注意事项

1、不好处理的时候就用逆向思维

// 因为不知道怎么对比字符串里的数字

// 就是不知道if () 条件里面,c == "1" 还是 c < 9 还是c > 0 ,但是数字好像还有-11。所以不知到怎么处理字符串的数字

// 不好处理就不先处理字符串里的数字

// 字符串里的操作运算符好处理,只有四种:加减乘除

// 所以先处理运算符。就是if () 条件里面,c == "+" || c == "-" || c == "*" || c == "/"

2、一个栈就行了,这题不是要求后缀表达式

// 因为我一开始想用两个栈

// 用一个栈拿来存数字就行了

3、注意C++语法里的字符串转换函数stoll

// 全称是string to long long

4、涉及到两个数相乘的题目,数据类型都选long long

// 因为计算出来的结果有可能很大

相关推荐
I_belong_to_jesus12 小时前
C++关于分支预测的优化1
开发语言·c++·算法
Rabitebla13 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
码客-ygluu19 小时前
一个通用游戏数据服务器
c++·架构
another heaven19 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
Code_Solitude19 小时前
C语言动态内存 + 柔性数组 + 数组名退化
c语言·算法·柔性数组
上海潭龙东海科技有限公司19 小时前
客运站管控之动态孪生技术方案(新增一屏管控模块
数据仓库·人工智能·算法·重构·动态规划
文丑颜不良啊20 小时前
LeetCode2821~2840题目解析
java·leetcode
YLCHUP21 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
xiaoye-duck21 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型