Evaluate the value of an arithmetic expression in Reverse Polish Notation.

Valid operators are +-*/. Each operand may be an integer or another expression.

Some examples:

这个叫什么来着,好熟悉,逆波兰表达式???这个题目当然是极其简单的

 1 class Solution {
 2 public:
 3     int Opr(int x,int y,string opr){
 4         if(opr=="+"){
 5             return x+y;
 6         }
 7         if(opr=="-"){
 8             return x-y;
 9         }
10         if(opr=="/"){
11             return x/y;
12         }
13         if(opr=="*"){
14             return x*y;
15         }
16     }
17     int evalRPN(vector<string>& tokens) {
18         stack<int>Int;
19         int len=tokens.size();
20         for(int i=0;i<len;i++){
21             if(tokens[i]=="+"||tokens[i]=="-"||tokens[i]=="/"||tokens[i]=="*"){
22                 int x=Int.top();Int.pop();
23                 int y=Int.top();Int.pop();
24                 Int.push(Opr(y,x,tokens[i]));
25             }else{
26                 Int.push(atoi(tokens[i].c_str()));
27             }
28         }
29         return Int.top();
30     }
31 };

 

相关文章:

  • 2021-09-27
  • 2021-06-24
  • 2021-07-29
  • 2021-10-04
  • 2022-02-27
  • 2021-06-04
  • 2021-10-04
  • 2021-10-25
猜你喜欢
  • 2021-10-09
  • 2021-08-05
  • 2021-08-28
  • 2022-01-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案