zoukankan      html  css  js  c++  java
  • LeetCode:Evaluate Reverse Polish Notation

    题目链接

    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:

      ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9
      ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6

    分析:这一题就是写程序计算逆波兰式的结果,遍历表达式,碰到操作数入栈,碰到操作符就从栈顶取出两个操作数,再将计算后的结果入栈,最后栈中剩余的唯一操作数就是计算结果。                                                        本文地址

     1 class Solution {
     2 public:
     3     int evalRPN(vector<string> &tokens) {
     4         // IMPORTANT: Please reset any member data you declared, as
     5         // the same Solution instance will be reused for each test case.
     6         int len = tokens.size();
     7         stack<int> S;
     8         for(int i = 0; i < len; i++)
     9         {
    10             if(tokens[i] == "+" || tokens[i] == "-" ||
    11                 tokens[i] == "*" || tokens[i] == "/")
    12             {
    13                 int op2 = S.top(); S.pop();
    14                 int op1 = S.top(); S.pop();
    15                 S.push( op(op1, op2, tokens[i][0]) );
    16             }
    17             else
    18                 S.push(stoi(tokens[i]));
    19         }
    20         return S.top();
    21     }
    22     int op(int op1, int op2, char optor)
    23     {
    24         if(optor == '+')return op1 + op2;
    25         else if(optor == '-')return op1 - op2;
    26         else if(optor == '*')return op1 * op2;
    27         else return op1 / op2;
    28     }
    29 };

    【版权声明】转载请注明出处:http://www.cnblogs.com/TenosDoIt/p/3448626.html

  • 相关阅读:
    选择排序
    散列冲突解决方案
    string stringbuffer StringBuilder
    java关键字
    Vector
    What is the difference between book depreciation and tax depreciation?
    Type of Asset Books in Oracle Fixed Assets
    questions
    Oracle Express 11g
    iot
  • 原文地址:https://www.cnblogs.com/TenosDoIt/p/3448626.html
Copyright © 2011-2022 走看看