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:
Space: