← Stack Discipline

Micro-Drill #37 — Evaluate postfix token

Stack Discipline Target: 15s

Stack-based expression evaluation is the foundation for calculator and RPN problems.

for tok in tokens:
    if tok.lstrip('-').isdigit():
        stack.append(int(tok))
    else:
        b, a = stack.pop(), stack.pop()
        if tok == '+': stack.append(a + b)
        elif tok == '-': stack.append(a - b)
        elif tok == '*': stack.append(a * b)
        elif tok == '/': stack.append(int(a / b))

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #36 Micro #38 →