Вычислить обратную польскую запись

MediumAlgo
05:00
Лучше работает на десктопе
StackMath

Вычислите значение арифметического выражения в обратной польской записи (Reverse Polish Notation).

Допустимые операторы: +, -, *, /. Деление — целочисленное с усечением к нулю.

Сигнатура

def eval_rpn(tokens: list[str]) -> int:

Примеры

eval_rpn(["2", "1", "+", "3", "*"]) → 9   # ((2 + 1) * 3)
eval_rpn(["4", "13", "5", "/", "+"]) → 6   # (4 + (13 / 5))
eval_rpn(["10", "6", "9", "3", "+", "-11", "*", "/", "*", "17", "+", "5", "+"]) → 22

Constraints

- 1 ≤ len(tokens) ≤ 10⁴
- tokens[i] — число или один из "+", "-", "*", "/"
- Выражение всегда корректно
- Деление на 0 не встречается

Примеры

Пример 1

Вход:
tokens = ["2","1","+","3","*"]
Выход:9

Пример 2

Вход:
tokens = ["4","13","5","/","+"]
Выход:6

Пример 3

Вход:
tokens = ["10","6","9","3","+","-11","*","/","*","17","+","5","+"]
Выход:22
Консоль
Нажмите Run или Ctrl+Enter для запуска