前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode 0150 - Evaluate Reverse Polish Notation

LeetCode 0150 - Evaluate Reverse Polish Notation

作者头像
Reck Zhang
发布2021-08-11 14:48:50
2030
发布2021-08-11 14:48:50
举报
文章被收录于专栏:Reck ZhangReck Zhang

Evaluate Reverse Polish Notation

Desicription

Evaluate the value of an arithmetic expression in Reverse Polish Notation.

Valid operators are +, -, *, /. Each operand may be an integer or another expression.

Note:

  • Division between two integers should truncate toward zero.
  • The given RPN expression is always valid. That means the expression would always evaluate to a result and there won’t be any divide by zero operation.

Example 1:

代码语言:javascript
复制
Input: ["2", "1", "+", "3", "*"]
Output: 9
Explanation: ((2 + 1) * 3) = 9

Example 2:

代码语言:javascript
复制
Input: ["4", "13", "5", "/", "+"]
Output: 6
Explanation: (4 + (13 / 5)) = 6

Example 3:

代码语言:javascript
复制
Input: ["10", "6", "9", "3", "+", "-11", "*", "/", "*", "17", "+", "5", "+"]
Output: 22
Explanation: 
  ((10 * (6 / ((9 + 3) * -11))) + 17) + 5
= ((10 * (6 / (12 * -11))) + 17) + 5
= ((10 * (6 / -132)) + 17) + 5
= ((10 * 0) + 17) + 5
= (0 + 17) + 5
= 17 + 5
= 22

Solution

代码语言:javascript
复制
class Solution {
public:
    int evalRPN(vector<string>& tokens) {
        string s = tokens.back();
        tokens.pop_back();
        if(s == "*" || s == "/" || s == "+" || s == "-") {
            int r2 = evalRPN(tokens);
            int r1 = evalRPN(tokens);
            if(s == "*")
                return r1 * r2;
            else if(s == "/")
                return r1 / r2;
            else if(s == "+")
                return r1 + r2;
            else if(s == "-")
                return r1 - r2;
        }
        else
            return atoi(s.c_str());
    }
};
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Evaluate Reverse Polish Notation
    • Desicription
      • Solution
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档