#|【Leetcode栈与队列】150. 逆波兰表达式求值(后缀表达式求值!!看作对对碰游戏!!)
文章目录
- Leetcode150
-
- 1.问题描述
- 2.解决方案
- 计算机的思考方式:
Leetcode150 1.问题描述
文章图片
文章图片
2.解决方案
1.逆波兰表达式优点
文章图片
2.逆波兰表达式相当于是二叉树中的后序遍历,又是一个类似对对碰的题目
文章图片
3.你会发现我代码实现的时候完全没考虑意外情况,也就是后缀表达式不合法会有一些意外,判空,或者遇到第一个运算符,栈中没有两个元素等等这种不合法,主要是题目中都说了没有不合法,但如果没说判断意外也是很复杂的!
class Solution {public:
int evalRPN(vector>& tokens) {stack s;
for (string item: tokens) {if(item=="+"||item=="-"||item=="*"||item=="/"){int a=s.top();
s.pop();
int b=s.top();
s.pop();
if(item=="+") s.push(b+a);
if(item=="-") s.push(b-a);
if(item=="*") s.push(b*a);
if(item=="/") s.push(b/a);
} else{s.push(stoi(item));
}
}
return s.top();
}
};
计算机的思考方式: 【#|【Leetcode栈与队列】150. 逆波兰表达式求值(后缀表达式求值!!看作对对碰游戏!!)】
文章图片
推荐阅读
- 宽容谁
- 我要做大厨
- 增长黑客的海盗法则
- 画画吗()
- 2019-02-13——今天谈梦想()
- 远去的风筝
- 三十年后的广场舞大爷
- 叙述作文
- 20190302|20190302 复盘翻盘
- 学无止境,人生还很长