关于栈【力扣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

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

相关推荐
(Charon)2 小时前
【C++面试】手写线程池:任务队列、工作线程与优雅退出
开发语言·c++
做运维的阿瑞2 小时前
多表查询基础:INNER JOIN、LEFT JOIN、RIGHT JOIN
数据库·sql·mysql·算法
无名猿2 小时前
拷贝构造与拷贝赋值:调用时机、深浅拷贝与复制消除
c++·内存管理·现代c++·踩坑记录
大侠归来3 小时前
C语言素数判断:从入门到进阶
java·c语言·算法
v:PLLucky203 小时前
农作物病虫害检测识别系统
深度学习·scrapy·算法·百度·微信公众平台
朝朝辞暮i3 小时前
C++ 第一阶段总结:从零基础到 ROS2 前置语法
开发语言·c++·算法
朝朝辞暮i3 小时前
C++ 第 25 课:getter / setter + this
java·javascript·c++
H.莓飛4 小时前
【数据结构】链表_OJ题
linux·数据结构·算法·链表
All for pursuit.4 小时前
【回溯-4】46.全排列
数据结构·c++·算法·leetcode
小鱼~~4 小时前
Recall@K、Precision@K、MRR、nDCG@K简介
人工智能·算法·机器学习