Evaluate Reverse Polish Notation

Evaluate the value of an arithmetic expression inReverse 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:

Input:
 ["2", "1", "+", "3", "*"]

Output:
 9

Explanation:
 ((2 + 1) * 3) = 9

Example 2:

Input:
 ["4", "13", "5", "/", "+"]

Output:
 6

Explanation:
 (4 + (13 / 5)) = 6

Example 3:

Analysis

此题的逻辑很简单,逆波兰表达式的计算器。使用一个辅助栈stack即可。

Solution

Stack Implementation - (12ms)

Improved without too much conversion of String / Integer - (11ms, 86.58%)

Another implementation: https://www.jiuzhang.com/solution/evaluate-reverse-polish-notation/

Last updated

Was this helpful?