150. Evaluate Reverse Polish Notation - LeetCode Solution


Stack

Python Code:

class Solution:
    def evalRPN(self, tokens: List[str]) -> int:
        stack = []


        for i in tokens:
            if i not in "/*+-":
                stack.append(i)
            else:
                a = int(stack.pop())
                b = int(stack.pop())
                if i == "+":
                    stack.append(a+b)
                elif i == "*":
                    stack.append(int(a*b))
                elif i=="/":
                    stack.append(int(b/a))
                else:
                    stack.append(b-a)


        return stack[0]


Comments

Submit
0 Comments
More Questions

1701A - Grass Field
489C - Given Length and Sum of Digits
886B - Vlad and Cafes
915A - Garden
356A - Knight Tournament
1330A - Dreamoon and Ranking Collection
1692B - All Distinct
1156C - Match Points
1675A - Food for Animals
1328C - Ternary XOR
1689A - Lex String
1708B - Difference of GCDs
863A - Quasi-palindrome
1478A - Nezzar and Colorful Balls
1581B - Diameter of Graph
404A - Valera and X
908A - New Year and Counting Cards
146A - Lucky Ticket
1594C - Make Them Equal
1676A - Lucky
1700B - Palindromic Numbers
702C - Cellular Network
1672C - Unequal Array
1706C - Qpwoeirut And The City
1697A - Parkway Walk
1505B - DMCA
478B - Random Teams
1705C - Mark and His Unfinished Essay
1401C - Mere Array
1613B - Absent Remainder