【leetcode】Evaluate Reverse Polish Notation

来源:互联网 发布:网络主播公司怎么赚钱 编辑:程序博客网 时间:2024/06/06 03:24
#include<iostream>#include<stack>#include<string>#include<vector>using namespace std;class Solution{public:    double fun(vector<string> a)    {        stack<string>result;        for(int i=0;i<a.size();i++)        {            cout<<a[i]<<endl;               if(!a[i].compare("+")||!a[i].compare("-")||!a[i].compare("*")||!a[i].compare("/"))            {                cout<<"lf"<<endl;                string c1=result.top();                result.pop();                string c2=result.top();                result.pop();                int m=stoi(c1);                int n=stoi(c2);;                int num;                if(a[i][0]=='+')                    num=n+m;                else if(a[i][0]=='-')                    num=n-m;                else if(a[i][0]=='*')                    num=n*m;                else                    num=n/m;                result.push(to_string(num));            }            else            {                cout<<"re"<<endl;                result.push(a[i]);            }        }        return stod(result.top());    }   };void main(){    Solution solution;    string arr[5]={"4", "13", "5", "/", "+"};    vector<string>a(arr,arr+5);    cout<<solution.fun(a)<<endl;}
0 0