题解 | #牛的表达式计算器#

牛的表达式计算器

https://www.nowcoder.com/practice/261e7f01438f414c92f59c0059d3a906

#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param tokens string字符串vector 
     * @return int整型
     */
    int calculatePostfix(vector<string>& tokens) {
        // write code here

        stack<int> st;
        for(auto str:tokens)
        {
            if(str!="+" && str!="-" && str!="*" && str!="/")
                st.push(stoi(str));
            else if(str=="+")
            {
                int temp_1 = st.top();
                st.pop();
                int temp_2 = st.top();
                st.pop();

                st.push(temp_2+temp_1);
            }
            else if(str=="-")
            {
                int temp_1 = st.top();
                st.pop();
                int temp_2 = st.top();
                st.pop();

                st.push(temp_2-temp_1);
            }
            else if(str=="*")
            {
                int temp_1 = st.top();
                st.pop();
                int temp_2 = st.top();
                st.pop();

                st.push(temp_2*temp_1);
            }
            else if(str=="/")
            {
                int temp_1 = st.top();
                st.pop();
                int temp_2 = st.top();
                st.pop();

                st.push(temp_2/temp_1);
            }
        }

        return st.top();
    }
};

虚数五行区解题中心 文章被收录于专栏

非淡泊无以明志,非宁静无以致远

全部评论

相关推荐

我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务