அல்கோரிதம்stack state management

Stack state management

TT
Testlaa Team
May 14, 20261 min read

Phases/scopes — enter push, exit pop.

Try this in Python

def eval_rpn(tokens: list[str]) -> int:
    st: list[int] = []
    for t in tokens:
        if t in "+-*":
            b = st.pop()
            a = st.pop()
            if t == "+":
                st.append(a + b)
            elif t == "-":
                st.append(a - b)
            else:
                st.append(a * b)
        else:
            st.append(int(t))
    return st[-1]


print(eval_rpn(["2", "1", "+", "3", "*"]))

Key takeaways

  • RPN — deferred ops.
  • Operator — top two collapse.
  • Operands காத்திருப்பு?

Tags:

Stacks & queuesPythonமாணவர்கள்