码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 150. 逆波兰表达式求值

时间:2020-09-11 14:15:45      阅读:42      评论:0      收藏:0      [点我收藏+]

标签:vector   eval   除法   leetcode   ret   str   token   ble   描述   

题目描述链接:https://leetcode-cn.com/problems/evaluate-reverse-polish-notation/

解题思路:栈的典型应用,并注意减法和除法不满足交换率。

LeetCode C++求解代码:

class Solution {
public:
    stack<string>S;
    int evalRPN(vector<string>& tokens) {
         for(int i=0;i<tokens.size();i++){
             if(tokens[i]=="+"){
                 string temp1=S.top();
                 S.pop();
                 string temp2=S.top();
                 S.pop();
                 int res=std::stoi(temp1)+std::stoi(temp2);
                 string ans=std::to_string(res);
                 S.push(ans);
             }
             else if(tokens[i]=="-"){
                 string temp1=S.top();
                 S.pop();
                 string temp2=S.top();
                 S.pop();
                 int res=std::stoi(temp2)-std::stoi(temp1);
                 string ans=std::to_string(res);
                 S.push(ans);
             }
             else if(tokens[i]=="*"){
                string temp1=S.top();
                 S.pop();
                 string temp2=S.top();
                 S.pop();
                 int res=std::stoi(temp1)*std::stoi(temp2);
                 string ans=std::to_string(res);
                 S.push(ans);
             }
             else if(tokens[i]=="/"){
                string temp1=S.top();
                 S.pop();
                 string temp2=S.top();
                 S.pop();
                 int res=std::stoi(temp2)/std::stoi(temp1);
                 string ans=std::to_string(res);
                 S.push(ans);
                 printf("%d",res);
             }
             else{
                 S.push(tokens[i]);
             }
         }
         return std::stoi(S.top());

    }
};

 

LeetCode 150. 逆波兰表达式求值

标签:vector   eval   除法   leetcode   ret   str   token   ble   描述   

原文地址:https://www.cnblogs.com/zzw-/p/13586330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!