LeetCode(150) Evaluate Reverse Polish Notation

来源:互联网 发布:淘宝的旗舰店可信吗 编辑:程序博客网 时间:2024/04/30 01:42

class Solution {public:    int evalRPN(vector<string>& tokens) {        stack<string> stringStack;        int xiaoshu;        int dashu;        for(int i = 0; i < tokens.size(); i++) {            if(tokens[i] != "+" && tokens[i] != "-" && tokens[i] != "*" && tokens[i] != "/") {                stringStack.push(tokens[i]);            }else {                xiaoshu = std::stoi(stringStack.top());                stringStack.pop();                dashu = std::stoi(stringStack.top());                stringStack.pop();                if(tokens[i] == "+")                    stringStack.push(std::to_string(dashu + xiaoshu));                if(tokens[i] == "-")                    stringStack.push(std::to_string(dashu - xiaoshu));                if(tokens[i] == "*")                    stringStack.push(std::to_string(dashu * xiaoshu));                if(tokens[i] == "/")                    stringStack.push(std::to_string(dashu / xiaoshu));            }        }        return std::stoi(stringStack.top());    }};
0 0