题解 | #逆波兰表达式求值#

逆波兰表达式求值

https://www.nowcoder.com/practice/885c1db3e39040cbae5cdf59fb0e9382

#include <string>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param tokens string字符串vector 
     * @return int整型
     */
    int evalRPN(vector<string>& tokens) {
        // write code here
        vector<string> stack;
        for(int i = 0; i < tokens.size(); i++){//循环遍历tokens元素       
            if (tokens[i] == "+"){//如果是运算符,则进行将数据弹出运算
                string num2 = stack.back();//右操作符
                stack.pop_back();
                string num1 = stack.back();//左操作符
                stack.pop_back();
                string sum = to_string(stoi(num1) + stoi(num2));
                stack.push_back(sum);
            }
            else if (tokens[i] == "-"){
                string num2 = stack.back();//左操作符
                stack.pop_back();
                string num1 = stack.back();//右操作符
                stack.pop_back();
                string sum = to_string(stoi(num1) - stoi(num2));
                stack.push_back(sum);
            }   
            else if (tokens[i] == "*"){
                string num2 = stack.back();//左操作符
                stack.pop_back();
                string num1 = stack.back();//右操作符
                stack.pop_back();
                string sum = to_string(stoi(num1) * stoi(num2));
                stack.push_back(sum);                
            } 
            else if (tokens[i] == "/"){
                string num2 = stack.back();//左操作符
                stack.pop_back();
                string num1 = stack.back();//右操作符
                stack.pop_back();
                string sum = to_string(stoi(num1) / stoi(num2));
                stack.push_back(sum);            
            }
            else {//如果是数据,则进行压栈
                stack.push_back(tokens[i]);
            }     
        }
        return stoi(stack.back());
    }
};

全部评论

相关推荐

08-05 15:27
南华大学 Java
点赞 评论 收藏
分享
水色铃音:可以去找射频相关的岗位,比如圣邦微?或者像做产品的,比如xiaomi,oppovivo之类的,都需要天线调试的工程师
点赞 评论 收藏
分享
08-08 14:46
郑州大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务