- Popping from empty stack: Always check if stack is empty before popping. Empty stack often indicates invalid input.
- Wrong operand order: For non-commutative operations (subtract, divide), the second popped value is the left operand.
- Not clearing stack between test cases: If reusing stack, ensure it's empty at start.
Leftover elements cause wrong results.
- Forgetting to process remaining items: After iteration, stack may still have items needing final processing.