#|【Leetcode栈与队列】150. 逆波兰表达式求值(后缀表达式求值!!看作对对碰游戏!!)


文章目录

  • Leetcode150
    • 1.问题描述
    • 2.解决方案
  • 计算机的思考方式:

Leetcode150 1.问题描述 #|【Leetcode栈与队列】150. 逆波兰表达式求值(后缀表达式求值!!看作对对碰游戏!!)
文章图片

#|【Leetcode栈与队列】150. 逆波兰表达式求值(后缀表达式求值!!看作对对碰游戏!!)
文章图片

2.解决方案
1.逆波兰表达式优点
#|【Leetcode栈与队列】150. 逆波兰表达式求值(后缀表达式求值!!看作对对碰游戏!!)
文章图片

2.逆波兰表达式相当于是二叉树中的后序遍历,又是一个类似对对碰的题目
#|【Leetcode栈与队列】150. 逆波兰表达式求值(后缀表达式求值!!看作对对碰游戏!!)
文章图片

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. 逆波兰表达式求值(后缀表达式求值!!看作对对碰游戏!!)】#|【Leetcode栈与队列】150. 逆波兰表达式求值(后缀表达式求值!!看作对对碰游戏!!)
文章图片

    推荐阅读