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

1077A - Frog Jumping
1714G - Path Prefixes
1369C - RationalLee
289B - Polo the Penguin and Matrix
1716A - 2-3 Moves
1670B - Dorms War
1716B - Permutation Chain
987A - Infinity Gauntlet
1676G - White-Black Balanced Subtrees
1716D - Chip Move
1352F - Binary String Reconstruction
1487B - Cat Cycle
1679C - Rooks Defenders
56A - Bar
1694B - Paranoid String
35A - Shell Game
1684A - Digit Minimization
43B - Letter
1017A - The Rank
1698B - Rising Sand
235A - LCM Challenge
1075B - Taxi drivers and Lyft
1562A - The Miracle and the Sleeper
1216A - Prefixes
1490C - Sum of Cubes
868A - Bark to Unlock
873B - Balanced Substring
1401D - Maximum Distributed Tree
1716C - Robot in a Hallway
1688B - Patchouli's Magical Talisman