mediumStackMathStack

Basic Calculator II

mediumTime: O(n)Space: O(n)

Recognize the pattern

evaluate +, -, ×, ÷ without parenthesesoperator precedencestack for deferred addition

Brute force idea

Not applicable — parsing requires precedence handling.

Better approach

Stack: for + and -, push number (with sign). For × and ÷, pop top, compute, push result. Sum stack at end. O(n).

Key invariant

× and ÷ resolve immediately (high precedence). + and - are deferred (pushed). Final sum = the answer.

Watch out for

Integer division toward zero — use Math.trunc(), not Math.floor().

Stack Pattern