class Solution: def evalRPN(self, tokens: List[str]) -> int: nums = [] ops = [] op_map = { "+": lambda x, y: x + y, "-": lambda x, y: x - y, "*": lambda x, y: x * y, "/": lambda x, y: x // y if x / y > 0 else ceil(x / y) } for token in tokens: if token in ['+', '-', '*', '/']: y = nums.pop() x = nums.pop() nums.append(op_map[token](x, y)) else: nums.append(int(token)) return nums.pop() Complexity Time: O(n) Space: O(n)