Search⌘ K
AI Features

Solution: Implement Two Stacks Using One Array

Explore how to implement two separate stacks using one shared array in JavaScript. This lesson covers designing push and pop operations for both stacks while maintaining fixed array size without resizing. Understand the algorithm and time-space complexity to prepare for coding interviews that focus on stack data structures.

Statement

Design a data structure TwoStacks, that represents two stacks using a single list, where both stacks share the same list for storing elements.

The following operations must be supported:

  • push1(value): Takes an integer value and inserts it into the first stack.

  • push2(value): Takes an integer value and inserts it into the second stack.

  • pop1(): Removes the top element from the first stack and returns it.

  • pop2(): Removes the top element from the second stack and returns it.

Note: Perform all operations in-place without resizing the underlying list, maintaining a fixed size throughout.

Constraints:

  • 11 \leq list.length 103\leq 10^3 ...